diff --git a/collector/sources/pkg/ucma/reader.go b/collector/sources/pkg/ucma/reader.go index 1f524e0..285890c 100644 --- a/collector/sources/pkg/ucma/reader.go +++ b/collector/sources/pkg/ucma/reader.go @@ -50,7 +50,6 @@ func (ucma *Ucma) request() { } func (ucma *Ucma) requestProxy(addr uint16, dataP *int32) { - ucma.Requests++ if len(ucma.IP) == 0 { return } @@ -60,6 +59,7 @@ func (ucma *Ucma) requestProxy(addr uint16, dataP *int32) { if ucma.DataPerfAddr == 0 { return } + ucma.Requests++ var err error ucma.conn, err = net.Dial("tcp", ucma.IP+":"+ucma.Port) if err != nil { diff --git a/collector/sources/pkg/webui/www/index.html b/collector/sources/pkg/webui/www/index.html index d0d51f3..b8d08b9 100644 --- a/collector/sources/pkg/webui/www/index.html +++ b/collector/sources/pkg/webui/www/index.html @@ -6,18 +6,61 @@ Collector -
-
Название
-
Накопление
-
Производительность
-
Адрес производ.
-
IP адресс
-
RS-485 адрес
-
К-во запросов
-
К-во ответов
+
+ + + +
-
-
+ +
+
+
Название
+
Фракция
+
Накопление
+
Производительность
+
Адрес производ.
+
IP адресс
+
RS-485 адрес
+
К-во запросов
+
К-во ответов
+
+
+ +
+

ДЦ-1

+ + + + + + + + + + +
№ ЛКФракцияКоличество продукции
1 смена2 смена3 сменаЗа суткиС начала месяцаС начала года
ЛК-6 0*40------
ЛК-6 0*70------
ЛК-6 20*40------
ЛК-6 20*70------
ЛК-7 5*10------
ЛК-8 10*20------
ЛК-8 5*20------
ЛК-9песок(0-5)------
+

ДЦ-2

+ + + + + + +
№ ЛКФракцияКоличество продукции
1 смена2 смена3 сменаЗа суткиС начала месяцаС начала года
ЛК-14 5*10------
ЛК-15 10*20------
ЛК-17 5*20------
ЛК-4 песок(0*5)------
+
+ +
+

На данный момент пользователей нет, все могут изменить все

+
+ +
+

Журнал работы весов

+
+

Журнал смены фракции

+
+
+ \ No newline at end of file diff --git a/collector/sources/pkg/webui/www/style.css b/collector/sources/pkg/webui/www/style.css index dfc2016..0924e79 100644 --- a/collector/sources/pkg/webui/www/style.css +++ b/collector/sources/pkg/webui/www/style.css @@ -3,7 +3,7 @@ div { } .rows { display: grid; - grid-template-columns: max-content max-content max-content max-content max-content max-content max-content max-content; + grid-template-columns: max-content max-content max-content max-content max-content max-content max-content max-content max-content; background: gainsboro; } .table { @@ -39,4 +39,40 @@ button{ .dropdown input { position: absolute; width: calc(100% - 20px); +} + +/* Style the tab */ +.tab { + overflow: hidden; + border: 1px solid #ccc; + background-color: #f1f1f1; +} + +/* Style the buttons that are used to open the tab content */ +.tab button { + background-color: inherit; + float: left; + border: none; + outline: none; + cursor: pointer; + padding: 14px 16px; + transition: 0.3s; +} + +/* Change background color of buttons on hover */ +.tab button:hover { + background-color: #ddd; +} + +/* Create an active/current tablink class */ +.tab button.active { + background-color: #ccc; +} + +/* Style the tab content */ +.tabcontent { + display: none; + padding: 6px 12px; + border: 1px solid #ccc; + border-top: none; } \ No newline at end of file diff --git a/collector/sources/pkg/webui/www/update.js b/collector/sources/pkg/webui/www/update.js index 7babfd4..45a7b55 100644 --- a/collector/sources/pkg/webui/www/update.js +++ b/collector/sources/pkg/webui/www/update.js @@ -1,20 +1,15 @@ -window.setInterval(update,200) +// window.setInterval(update,200) let rows -const nums = 10 +let names=[['ЛК-4', 'песок(0*5)'], ['ЛК-6', '0*40', '0*70', '20*40', '20*70'], ['ЛК-7', '5*10'], ['ЛК-8', '10*20', '5*20'], + ['ЛК-9', 'песок(0-5)'], ['ЛК-14', '5*10'], ['ЛК-15', '10*20'], ['ЛК-17', '5*20']] window.onload = function () { rows = document.getElementsByClassName("rows")[0] - for(let i=0;i {addrow(element, index)}) } function update() { - let a = "" - for(let i=0;i=0) { @@ -71,33 +66,44 @@ function ajaxUpdate() { } } -function addrow(i) { +function addrow(name, i) { // name let d = document.createElement("div"); d.setAttribute('id', 'name'+i) - d.innerHTML = "" + d.innerHTML = "" rows.appendChild(d) + // fraction + d = document.createElement("div"); + d.setAttribute('id', 'fraction'+i) + d.className+='dropdown' + let fractions = name.slice(1, name.length) + let fractions_select = '' + fractions.forEach((fr) => {fractions_select+=''}) + d.innerHTML = "" + + "\n" + d.value=fractions[0] + rows.appendChild(d) + document.getElementById('fraction'+i).getElementsByTagName("input")[0].value=fractions[0] // DataAccumValue d = document.createElement("div"); d.setAttribute('id', 'DataAccumValue'+i) - d.innerHTML = "-2" rows.appendChild(d) // DataPerfValue d = document.createElement("div"); d.setAttribute('id', 'DataPerfValue'+i) - d.innerHTML = "-2" rows.appendChild(d) // type d = document.createElement("div"); d.setAttribute('id', 'dtype'+i) d.className+='dropdown' - d.innerHTML = "\n" + - "\n" + d.innerHTML = "" + + "" rows.appendChild(d) // ip address d = document.createElement("div"); @@ -106,31 +112,36 @@ function addrow(i) { rows.appendChild(d) // rs-485 address d = document.createElement("div"); - d.setAttribute('id', 'rs485addr'+i) + d.setAttribute('id', 'rs485adErrordr'+i) d.innerHTML = "" rows.appendChild(d) // Requests d = document.createElement("div"); d.setAttribute('id', 'requests'+i) - d.innerHTML = "-2" rows.appendChild(d) // Responses d = document.createElement("div"); d.setAttribute('id', 'responses'+i) - d.innerHTML = "-2" - rows.appendChild(d) - // Table - d = document.createElement("div"); - d.setAttribute('id', 'table'+i) - d.setAttribute('class', 'table') - d.innerHTML = tableHtml rows.appendChild(d) } -const tableHtml = "" + - "" + - "" + - "" + - "" + - "" + - "
№ ЛКФракцияКоличество продукции
1 смена2 смена3 сменаЗа суткиС начала месяцаС начала года
-20x40------
-5x10------
-10x20------
-отсев------
" +function selectTab(tabName) { + // Declare all variables + let i, tabcontent, tablinks; + + // Get all elements with class="tabcontent" and hide them + tabcontent = document.getElementsByClassName("tabcontent"); + for (i = 0; i < tabcontent.length; i++) { + tabcontent[i].style.display = "none"; + } + + // Get all elements with class="tablinks" and remove the class "active" + tablinks = document.getElementsByClassName("tablinks"); + for (i = 0; i < tablinks.length; i++) { + tablinks[i].className = tablinks[i].className.replace(" active", ""); + } + + // Show the current tab, and add an "active" class to the button that opened the tab + document.getElementById(tabName).style.display = "block"; + event.currentTarget.className += " active"; +} \ No newline at end of file