генератор фронта завершен
This commit is contained in:
@@ -1,55 +1,3 @@
|
||||
settingsSubmitNetwork() {
|
||||
if (this.submitStatus.network) { return }
|
||||
let query = {
|
||||
"network.managementIp": this.param.network.managementIp,
|
||||
"network.managementGateway": this.param.network.managementGateway,
|
||||
"network.mode": this.param.network.mode,
|
||||
"network.dataIp": this.param.network.dataIp,
|
||||
"network.dataMtu": this.param.network.dataMtu
|
||||
}
|
||||
if (confirm('Вы уверены, что хотите сохранить настройки сети? После этого модем может стать недоступным.')) {
|
||||
this.submitStatus.network = true
|
||||
fetch('/api/set/network', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify(query)
|
||||
}).then(async (resp) => {
|
||||
this.submitStatus.network = false
|
||||
this.updateNetworkSettings(await resp.json())
|
||||
}).catch((reason) => {
|
||||
this.submitStatus.network = false
|
||||
alert(`Ошибка при применении настроек: ${reason}`)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
settingsSubmitDebugSend() {
|
||||
if (this.submitStatus.debugSend) { return }
|
||||
let query = {
|
||||
"debugSend.en": this.param.debugSend.en,
|
||||
"debugSend.receiverIp": this.param.debugSend.receiverIp,
|
||||
"debugSend.portCinC": this.param.debugSend.portCinC,
|
||||
"debugSend.portData": this.param.debugSend.portData,
|
||||
"debugSend.timeout": this.param.debugSend.timeout
|
||||
}
|
||||
this.submitStatus.debugSend = true
|
||||
fetch('/api/set/debugSend', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify(query)
|
||||
}).then(async (resp) => {
|
||||
this.submitStatus.debugSend = false
|
||||
this.updateNetworkSettings(await resp.json())
|
||||
}).catch((reason) => {
|
||||
this.submitStatus.debugSend = false
|
||||
alert(`Ошибка при применении настроек: ${reason}`)
|
||||
})
|
||||
},
|
||||
|
||||
async settingsUploadUpdate() {
|
||||
if (!this.uploadFw.filename) {
|
||||
alert('Выберите файл для загрузки');
|
||||
@@ -105,24 +53,6 @@
|
||||
this.submitStatus.firmwareUpgrade = false
|
||||
},
|
||||
|
||||
updateNetworkSettings(vals) {
|
||||
this.submitStatus.network = false
|
||||
this.param.network.managementIp = vals["settings"]["network.managementIp"]
|
||||
this.param.network.managementGateway = vals["settings"]["network.managementGateway"]
|
||||
this.param.network.mode = vals["settings"]["network.mode"]
|
||||
this.param.network.dataIp = vals["settings"]["network.dataIp"]
|
||||
this.param.network.dataMtu = vals["settings"]["network.dataMtu"]
|
||||
},
|
||||
|
||||
updateDebugSendSettings(vals) {
|
||||
this.submitStatus.debugSend = false
|
||||
this.param.debugSend.en = vals["settings"]["debugSend.en"]
|
||||
this.param.debugSend.receiverIp = vals["settings"]["debugSend.receiverIp"]
|
||||
this.param.debugSend.portCinC = vals["settings"]["debugSend.portCinC"]
|
||||
this.param.debugSend.portData = vals["settings"]["debugSend.portData"]
|
||||
this.param.debugSend.timeout = vals["settings"]["debugSend.timeout"]
|
||||
},
|
||||
|
||||
doModemReboot() {
|
||||
if (this.submitStatus.modemReboot !== null) {
|
||||
return
|
||||
|
@@ -1,63 +1,11 @@
|
||||
{% raw %}
|
||||
{% from 'common/widgets.j2' import build_widget %}
|
||||
<div class="tabs-body-item" v-if="activeTab === 'admin' && settingFetchComplete">
|
||||
<h2>Настройки сети</h2>
|
||||
{% if 'network' in params %}
|
||||
{% for w in params['network'] %}{{ build_widget('network', w) | indent(12, true) }}{% endfor %}
|
||||
{% endif %}
|
||||
{% raw %}
|
||||
<h2>Система</h2>
|
||||
<div class="settings-set-container">
|
||||
<h3>Интерфейс управления</h3>
|
||||
<label>
|
||||
<span>IP адрес/маска</span>
|
||||
<input v-model="param.network.managementIp" required type="text" pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}$">
|
||||
</label>
|
||||
<label>
|
||||
<span>Шлюз интерфейса управления</span>
|
||||
<input v-model="param.network.managementGateway" type="text" pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}$">
|
||||
</label>
|
||||
<label>
|
||||
<span>Режим модема</span>
|
||||
<select v-model="param.network.mode">
|
||||
<option value="l2">Коммутатор</option>
|
||||
<option value="l3">Маршрутизатор</option>
|
||||
</select>
|
||||
</label>
|
||||
<h3>Интерфейс данных</h3>
|
||||
<label v-if="param.network.mode === 'l3'">
|
||||
<span>IP адрес/маска</span>
|
||||
<input v-model="param.network.dataIp" required type="text" pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}$">
|
||||
</label>
|
||||
<label>
|
||||
<span>MTU</span>
|
||||
<input v-model="param.network.dataMtu" required type="number" min="1500" max="9000">
|
||||
</label>
|
||||
<button class="action-button" @click="settingsSubmitNetwork()">Применить <span class="submit-spinner" v-show="submitStatus.network"></span></button>
|
||||
</div>
|
||||
<div class="settings-set-container">
|
||||
<h3>Отладка</h3>
|
||||
<label>
|
||||
<span>Передача отладочной информации</span>
|
||||
<span class="toggle-input">
|
||||
<input type="checkbox" v-model="param.debugSend.en" />
|
||||
<span class="slider"></span>
|
||||
</span>
|
||||
</label>
|
||||
<label v-if="param.debugSend.en">
|
||||
<span>IP адрес получателя</span>
|
||||
<input v-model="param.debugSend.receiverIp" required type="text" pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}">
|
||||
</label>
|
||||
<label>
|
||||
<span>Порт для данных</span>
|
||||
<input v-model="param.debugSend.portCinC" type="number" min="0" max="65535">
|
||||
</label>
|
||||
<label>
|
||||
<span>Порт для CinC</span>
|
||||
<input v-model="param.debugSend.portData" type="number" min="0" max="65535">
|
||||
</label>
|
||||
<label>
|
||||
<span>Таймаут</span>
|
||||
<input v-model="param.debugSend.timeout" type="number" pattern="^[0-9]+$">
|
||||
</label>
|
||||
<button class="action-button" @click="settingsSubmitDebugSend()">Применить <span class="submit-spinner" v-show="submitStatus.network"></span></button>
|
||||
</div>
|
||||
<div class="settings-set-container">
|
||||
<h3>Управление ПО</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr><th>Версия ПО</th><td>{{ about.firmwareVersion }}</td></tr>
|
||||
@@ -82,6 +30,5 @@
|
||||
</label>
|
||||
<button class="action-button" @click="settingsUploadUpdate()">Загрузить<span class="submit-spinner" v-show="submitStatus.firmwareUpload"></span></button>
|
||||
<button class="dangerous-button" v-show="uploadFw.sha256 !== null" @click="settingsPerformFirmwareUpgrade()">Обновить встроенное ПО <span class="submit-spinner" v-show="submitStatus.firmwareUpgrade"></span></button>
|
||||
</div>
|
||||
</div>{% endraw %}
|
||||
</div>
|
||||
{% endraw %}
|
@@ -40,6 +40,10 @@
|
||||
{% for w in widget.childs %}{{ build_widget(param_group, w) | indent(4, true) }}{% endfor %}
|
||||
</div>{% endmacro %}
|
||||
|
||||
{% macro build_widget_ip_address(param_group, widget) %}<label{% if widget.v_show %} v-show="{{ widget.v_show }}"{% endif %}>
|
||||
<span>{{ widget.label }}</span>
|
||||
<input v-model="param{{ param_group | title }}.{{ widget.name }}" 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]?)$">
|
||||
</label>{% endmacro %}
|
||||
|
||||
{% macro build_widget(param_group, widget) %}{% if widget.widget == 'flex-container' %}{{ build_widget_flex_container(param_group, widget) }}
|
||||
{% elif widget.widget == 'settings-container' %}{{ build_widget_settings_container(param_group, widget) }}
|
||||
@@ -52,6 +56,7 @@
|
||||
{% elif widget.widget == 'select' %}{{ build_widget_select(param_group, widget) }}
|
||||
{% elif widget.widget == 'modulation-modcod' %}{{ build_widget_modulation_modcod(param_group, widget) }}
|
||||
{% elif widget.widget == 'modulation-speed' %}{{ build_widget_modulation_speed(param_group, widget) }}
|
||||
{% elif widget.widget == 'ip-address' %}{{ build_widget_ip_address(param_group, widget) }}
|
||||
{% else %}<p>Widget '{{ widget.widget }}' not defined!</p><p>{{ widget }}</p>
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
Reference in New Issue
Block a user