фича: маска для сети управления + исправление багов на странице для разработчиков

This commit is contained in:
2025-06-05 17:07:27 +03:00
parent 996e711436
commit 9fbe88b64d
12 changed files with 127 additions and 92 deletions

View File

@@ -494,8 +494,8 @@
<div class="settings-set-container">
<h3>Настройки интерфейса управления</h3>
<label>
<span>Интерфейс управления (/24)</span>
<input v-model="paramNetwork.managementIp" required type="text" pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$">
<span>Интерфейс управления (a.d.d.r/mask)</span>
<input v-model="paramNetwork.managementIp" required type="text" pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/([0-9]|[1-2][0-9]|3[0-2])$">
</label>
<label>
<span>Режим сети</span>
@@ -1368,7 +1368,7 @@
},
async restoreAllSettings() {
// Порядок применения настроек
const settingsApplyOrder = ['qos', 'tcpaccel', 'rxtx', 'buclnb', 'network'];
const settingsApplyOrder = ['qos', 'tcpaccel', 'dpdi', 'rxtx', 'buclnb', 'network'];
// 1. Чтение JSON-файла, выбранного пользователем
const fileInput = document.createElement('input');

View File

@@ -246,8 +246,8 @@
<div class="settings-set-container">
<h3>Настройки интерфейса управления</h3>
<label>
<span>Интерфейс управления (/24)</span>
<input v-model="paramNetwork.managementIp" required type="text" pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$">
<span>Интерфейс управления (a.d.d.r/mask)</span>
<input v-model="paramNetwork.managementIp" required type="text" pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/([0-9]|[1-2][0-9]|3[0-2])$">
</label>
<label>
<span>Режим сети</span>
@@ -761,7 +761,7 @@
},
async restoreAllSettings() {
// Порядок применения настроек
const settingsApplyOrder = ['qos', 'tcpaccel', 'rxtx', 'buclnb', 'network'];
const settingsApplyOrder = ['qos', 'tcpaccel', 'dpdi', 'rxtx', 'buclnb', 'network'];
// 1. Чтение JSON-файла, выбранного пользователем
const fileInput = document.createElement('input');

View File

@@ -235,16 +235,16 @@
<div class="settings-set-container">
<label>
<span>Пароль для входа в сеть ЦЗС</span>
<input v-model="paramNetwork.netCesPassword" type="text">
<input v-model="paramNetwork.cesPassword" type="text">
</label>
<h3>Настройки интерфейса управления</h3>
<label>
<span>IP Интерфейса управления (/24)</span>
<input v-model="paramNetwork.netManagementIp" required type="text" pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$">
<span>Интерфейс управления (a.d.d.r/mask)</span>
<input v-model="paramNetwork.managementIp" required type="text" pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/([0-9]|[1-2][0-9]|3[0-2])$">
</label>
<label>
<span>Имя веб-сервера</span>
<input v-model="paramNetwork.netServerName" type="text">
<input v-model="paramNetwork.serverName" type="text">
</label>
</div>
<button class="action-button" @click="settingsSubmitNetwork()">Сохранить <span class="submit-spinner" v-show="submitStatus.network"></span></button>
@@ -360,9 +360,9 @@
dpdiDelay: 0,
},
paramNetwork: {
netCesPassword: null,
netManagementIp: null,
netServerName: null,
cesPassword: null,
managementIp: null,
serverName: null,
},
// ========== include end from 'common/all-params-data.js.j2'
@@ -539,9 +539,9 @@
{ if (!confirm("Применение этих настроек может сделать модем недоступным! Продолжить?")) return }
let query = {
"netCesPassword": this.paramNetwork.netCesPassword,
"netManagementIp": this.paramNetwork.netManagementIp,
"netServerName": this.paramNetwork.netServerName,
"cesPassword": this.paramNetwork.cesPassword,
"managementIp": this.paramNetwork.managementIp,
"serverName": this.paramNetwork.serverName,
}
this.submitStatus.network = true
@@ -583,9 +583,9 @@
},
updateNetworkSettings(vals) {
this.submitStatus.network = false
this.paramNetwork.netCesPassword = vals["settings"]["network"]["netCesPassword"]
this.paramNetwork.netManagementIp = vals["settings"]["network"]["netManagementIp"]
this.paramNetwork.netServerName = vals["settings"]["network"]["netServerName"]
this.paramNetwork.cesPassword = vals["settings"]["network"]["cesPassword"]
this.paramNetwork.managementIp = vals["settings"]["network"]["managementIp"]
this.paramNetwork.serverName = vals["settings"]["network"]["serverName"]
},
// ========== include end from 'common/all-params-methods.js.j2'
@@ -757,7 +757,7 @@
},
async restoreAllSettings() {
// Порядок применения настроек
const settingsApplyOrder = ['qos', 'tcpaccel', 'rxtx', 'buclnb', 'network'];
const settingsApplyOrder = ['qos', 'tcpaccel', 'dpdi', 'rxtx', 'buclnb', 'network'];
// 1. Чтение JSON-файла, выбранного пользователем
const fileInput = document.createElement('input');