edit_page
This commit is contained in:
1 parent
28f9b9ce08
commit
5c186a1fa6
4 files changed
+146
-2
No files matched your search
@@ -4,3 +4,5 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: medica-info/Dockerfile
|
dockerfile: medica-info/Dockerfile
|
||||||
|
volumes:
|
||||||
|
- 'M:/:/app/Data/Medica_info'
|
||||||
@@ -19,6 +19,11 @@
|
|||||||
<span class="bi bi-list-nested-nav-menu" aria-hidden="true"></span> Аптека
|
<span class="bi bi-list-nested-nav-menu" aria-hidden="true"></span> Аптека
|
||||||
</NavLink>
|
</NavLink>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="nav-item px-3">
|
||||||
|
<NavLink class="nav-link" href="uslugi">
|
||||||
|
<span class="bi bi-list-nested-nav-menu" aria-hidden="true"></span> Услугии
|
||||||
|
</NavLink>
|
||||||
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
<PageTitle>Apteka</PageTitle>
|
<PageTitle>Apteka</PageTitle>
|
||||||
|
|
||||||
<h1>Центральный склад НСК</h1>
|
<h1>Центральный склад</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -65,6 +65,7 @@ else
|
|||||||
@code {
|
@code {
|
||||||
private List<AptekaFore> apteka = new List<AptekaFore>();
|
private List<AptekaFore> apteka = new List<AptekaFore>();
|
||||||
private string lekInput { set; get; } = string.Empty;
|
private string lekInput { set; get; } = string.Empty;
|
||||||
|
private string lekInputMNN { set; get; } = string.Empty;
|
||||||
private string otdValue { set; get; } = string.Empty;
|
private string otdValue { set; get; } = string.Empty;
|
||||||
private string data { set; get; } = string.Empty;
|
private string data { set; get; } = string.Empty;
|
||||||
|
|
||||||
@@ -94,7 +95,7 @@ else
|
|||||||
private async Task LoadAndFilterAptekaAsync(string? filter, string? filterOTD)
|
private async Task LoadAndFilterAptekaAsync(string? filter, string? filterOTD)
|
||||||
{
|
{
|
||||||
// string file = @"\\192.168.232.33\medica.info\Apteka\price.xml";
|
// string file = @"\\192.168.232.33\medica.info\Apteka\price.xml";
|
||||||
string file = @"/app/Apteka/price.xml";
|
string file = @"/app/Data/Medica_info/Apteka/price.xml";
|
||||||
XmlDocument xml = new XmlDocument();
|
XmlDocument xml = new XmlDocument();
|
||||||
xml.Load(file);
|
xml.Load(file);
|
||||||
XmlElement? root = xml.DocumentElement;
|
XmlElement? root = xml.DocumentElement;
|
||||||
@@ -174,6 +175,7 @@ else
|
|||||||
{
|
{
|
||||||
float val = float.Parse(value);
|
float val = float.Parse(value);
|
||||||
int vali =(int)MathF.Round(val);
|
int vali =(int)MathF.Round(val);
|
||||||
|
if (vali == 0) return value;
|
||||||
return vali.ToString();
|
return vali.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,135 @@
|
|||||||
|
@page "/uslugi"
|
||||||
|
@using System.Xml
|
||||||
|
@using Microsoft.AspNetCore.Components.Web
|
||||||
|
@rendermode RenderMode.InteractiveServer
|
||||||
|
|
||||||
|
<PageTitle>uslugi</PageTitle>
|
||||||
|
|
||||||
|
<h1>Услуги</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<InputText @onkeydown="HandleKeyPress" @bind-Value="UslugiInput" />
|
||||||
|
<button class="btn btn-primary" @onclick="OnSearchClicked">Поиск</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@if (apteka == null || apteka.Count == 0)
|
||||||
|
{
|
||||||
|
<p><em>Данные не найдены или загружаются...</em></p>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<p>Актуальная информация по базе в ООО "Медика НСК", на <label>@DateTime.Now.ToString("dd-MM-yyyy")</label></p>
|
||||||
|
<form>
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Код услуги</th>
|
||||||
|
<th>Название</th>
|
||||||
|
<th>Стоимость</th>
|
||||||
|
<th>Даба изменения цены</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach (var item in apteka)
|
||||||
|
{
|
||||||
|
<tr>
|
||||||
|
<td>@item.code</td>
|
||||||
|
<td>@item.name</td>
|
||||||
|
<td>@item.amount</td>
|
||||||
|
<td>@item.date_up</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
}
|
||||||
|
|
||||||
|
@code {
|
||||||
|
private List<UslugiFore> apteka = new List<UslugiFore>();
|
||||||
|
private string data { set; get; } = string.Empty;
|
||||||
|
private string UslugiInput { set; get; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
protected override async Task OnInitializedAsync()
|
||||||
|
{
|
||||||
|
string filter = string.IsNullOrWhiteSpace(UslugiInput) ? null : UslugiInput.Trim();
|
||||||
|
await LoadAndFilterUslugiAsync(filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task OnSearchClicked()
|
||||||
|
{
|
||||||
|
string filter = string.IsNullOrWhiteSpace(UslugiInput) ? null : UslugiInput.Trim();
|
||||||
|
await LoadAndFilterUslugiAsync(filter);
|
||||||
|
}
|
||||||
|
private async Task HandleKeyPress(KeyboardEventArgs keyboardEventArgs)
|
||||||
|
{
|
||||||
|
if (keyboardEventArgs.Code == "Enter")
|
||||||
|
{
|
||||||
|
await OnSearchClicked();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private async Task LoadAndFilterUslugiAsync(string? filter)
|
||||||
|
{
|
||||||
|
// string file = @"\\192.168.232.33\medica.info\Apteka\price.xml";
|
||||||
|
string file = @"/app/Data/Medica_info/PriceNSK/price.xml";
|
||||||
|
XmlDocument xml = new XmlDocument();
|
||||||
|
xml.Load(file);
|
||||||
|
XmlElement? root = xml.DocumentElement;
|
||||||
|
apteka.Clear();
|
||||||
|
if (root != null)
|
||||||
|
{
|
||||||
|
foreach (XmlElement row in root.ChildNodes)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (row.Name != "ROW")
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var prodNode = row.SelectSingleNode("TEXT");
|
||||||
|
if (prodNode == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(filter) &&
|
||||||
|
!prodNode.InnerText.Contains(filter, StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
UslugiFore item = new UslugiFore();
|
||||||
|
foreach (XmlNode child in row.ChildNodes)
|
||||||
|
{
|
||||||
|
switch (child.Name)
|
||||||
|
{
|
||||||
|
case "CODE":
|
||||||
|
item.code = child.InnerText;
|
||||||
|
break;
|
||||||
|
case "TEXT":
|
||||||
|
item.name = child.InnerText;
|
||||||
|
break;
|
||||||
|
case "PRICE_4078":
|
||||||
|
item.amount = child.InnerText;
|
||||||
|
break;
|
||||||
|
case "PR_UPD":
|
||||||
|
item.date_up = child.InnerText;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
apteka.Add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
StateHasChanged();
|
||||||
|
await Task.CompletedTask;
|
||||||
|
}
|
||||||
|
private class UslugiFore
|
||||||
|
{
|
||||||
|
public string code { get; set; } = string.Empty;
|
||||||
|
public string name { get; set; } = string.Empty;
|
||||||
|
public string amount { get; set; } = string.Empty;
|
||||||
|
public string date_up { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user