2025-04-18 11:01:56 +08:00
|
|
|
|
@page "/stock/drug"
|
|
|
|
|
<style>
|
|
|
|
|
.rz-custom-header {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
<div class="container-fluid">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-12 mb-4">
|
|
|
|
|
|
|
|
|
|
<form onsubmit="@(() => grid.Reload())">
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenFieldset Text="@myText.Search">
|
2025-04-18 11:01:56 +08:00
|
|
|
|
<RadzenStack Orientation="Orientation.Horizontal" Gap="1rem">
|
|
|
|
|
<RadzenRow AlignItems="AlignItems.Center">
|
|
|
|
|
<RadzenColumn Size="4">
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenLabel Text="@myText.DrugCode" Component="DrugId" />
|
2025-04-18 11:01:56 +08:00
|
|
|
|
</RadzenColumn>
|
|
|
|
|
<RadzenColumn Size="8">
|
|
|
|
|
<RadzenTextBox @bind-Value="DrugId" Style="width: 100%;" Name="DrugId"></RadzenTextBox>
|
|
|
|
|
</RadzenColumn>
|
|
|
|
|
</RadzenRow>
|
|
|
|
|
<RadzenRow AlignItems="AlignItems.Center">
|
|
|
|
|
<RadzenColumn Size="4">
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenLabel Text="@myText.DrugName" Component="DrugName" />
|
2025-04-18 11:01:56 +08:00
|
|
|
|
</RadzenColumn>
|
|
|
|
|
<RadzenColumn Size="8">
|
|
|
|
|
<RadzenTextBox @bind-Value="DrugName" Style="width: 100%;" Name="DrugName"></RadzenTextBox>
|
|
|
|
|
</RadzenColumn>
|
|
|
|
|
</RadzenRow>
|
|
|
|
|
|
|
|
|
|
<RadzenRow AlignItems="AlignItems.Center">
|
|
|
|
|
<RadzenColumn Size="12">
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenButton Size="ButtonSize.Large" ButtonType="ButtonType.Submit" IsBusy="isLoading" Icon="search" Text="@myText.Search" />
|
|
|
|
|
<RadzenButton Size="ButtonSize.Large" Click="reloadGrid" IsBusy="isLoading" Icon="refresh" Text="@myText.Restore" ButtonStyle="ButtonStyle.Warning" />
|
|
|
|
|
<RadzenButton Size="ButtonSize.Large" ButtonStyle="ButtonStyle.Success" Icon="add_circle_outline" Click="@InsertDrugRow" Text="@myText.AddDrug" />
|
2025-04-18 11:01:56 +08:00
|
|
|
|
</RadzenColumn>
|
|
|
|
|
</RadzenRow>
|
|
|
|
|
</RadzenStack>
|
|
|
|
|
</RadzenFieldset>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-6 mb-4">
|
|
|
|
|
<RadzenDataGrid @ref="grid"
|
|
|
|
|
LoadData="@LoadData"
|
|
|
|
|
@bind-Value="@SelectedDrugs"
|
|
|
|
|
IsLoading="@isLoading"
|
|
|
|
|
Count="@count"
|
2025-08-11 14:58:39 +08:00
|
|
|
|
EmptyText="@myText.NoDate"
|
2025-04-18 11:01:56 +08:00
|
|
|
|
Data="@_forecasts"
|
|
|
|
|
AllowColumnResize="true" AllowAlternatingRows="false"
|
|
|
|
|
SelectionMode="DataGridSelectionMode.Single" RowUpdate="@((DrugInfo di)=>{OnDrugUpdateRow(di);})" RowCreate="@((DrugInfo di)=>{OnDrugCreateRow(di);})"
|
|
|
|
|
AllowPaging="true" PageSize="10" PagerHorizontalAlign="HorizontalAlign.Left" ColumnWidth="100px" ShowPagingSummary="true" PagingSummaryFormat="{0}/{1} <20><>{2}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>">
|
|
|
|
|
<Columns>
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenDataGridColumn Frozen="true" Title="@myText.DrugCode" Property="DrugId">
|
2025-04-18 11:01:56 +08:00
|
|
|
|
<EditTemplate Context="drugInfo">
|
|
|
|
|
<RadzenTextBox Name="DrugId" @bind-Value="drugInfo.DrugId" Style="width:100%; display: block;" />
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenRequiredValidator Text="@myText.InputCode" Component="DrugId" Popup="true" />
|
2025-04-18 11:01:56 +08:00
|
|
|
|
</EditTemplate>
|
|
|
|
|
</RadzenDataGridColumn>
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenDataGridColumn Width="200px" Title="@myText.DrugName" Property="DrugName">
|
2025-04-18 11:01:56 +08:00
|
|
|
|
<EditTemplate Context="drugInfo">
|
|
|
|
|
<RadzenTextBox Name="DrugName" @bind-Value="drugInfo.DrugName" Style="width:100%;display:block;" />
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenRequiredValidator Text="@myText.InputDrugName" Component="DrugName" Popup="true" />
|
2025-04-18 11:01:56 +08:00
|
|
|
|
</EditTemplate>
|
|
|
|
|
</RadzenDataGridColumn>
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenDataGridColumn Title="@myText.Spec" Property="DrugSpec">
|
2025-04-18 11:01:56 +08:00
|
|
|
|
<EditTemplate Context="drugInfo">
|
|
|
|
|
<RadzenTextBox Name="DrugSpec" @bind-Value="drugInfo.DrugSpec" Style="width:100%;display:block;" />
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenRequiredValidator Text="@myText.InputDrugSpec" Component="DrugSpec" Popup="true" />
|
2025-04-18 11:01:56 +08:00
|
|
|
|
</EditTemplate>
|
|
|
|
|
</RadzenDataGridColumn>
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenDataGridColumn Width="200px" Title="@myText.Factory" Property="Manufactory">
|
2025-04-18 11:01:56 +08:00
|
|
|
|
<EditTemplate Context="drugInfo">
|
|
|
|
|
<RadzenTextBox Name="Manufactory" @bind-Value="drugInfo.Manufactory" Style="width:100%;display:block;" />
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenRequiredValidator Text="@myText.InputDrugFactory" Component="Manufactory" Popup="true"/>
|
2025-04-18 11:01:56 +08:00
|
|
|
|
</EditTemplate>
|
|
|
|
|
</RadzenDataGridColumn>
|
|
|
|
|
|
2025-08-11 14:58:39 +08:00
|
|
|
|
<RadzenDataGridColumn Context="drugInfo" Title="@myText.Operate" Filterable="false" Sortable="false" TextAlign="TextAlign.Left" Frozen="true" FrozenPosition="FrozenColumnPosition.Right">
|
2025-04-18 11:01:56 +08:00
|
|
|
|
<Template Context="drugInfo">
|
|
|
|
|
<RadzenButton Icon="edit" ButtonStyle="ButtonStyle.Light" Variant="Variant.Flat" Size="ButtonSize.Medium" Click="@(args => EditDrugRow(drugInfo))" @onclick:stopPropagation="true">
|
|
|
|
|
</RadzenButton>
|
|
|
|
|
<RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Variant="Variant.Flat" Shade="Shade.Lighter" Size="ButtonSize.Medium" class="my-1 ms-1" Click="@(args => DeleteDrugRow(drugInfo))" @onclick:stopPropagation="true">
|
|
|
|
|
</RadzenButton>
|
|
|
|
|
</Template>
|
|
|
|
|
<EditTemplate Context="drugInfo">
|
|
|
|
|
<RadzenButton Icon="check" ButtonStyle="ButtonStyle.Success" Variant="Variant.Flat" Size="ButtonSize.Medium" Click="@((args) => SaveDrugRow(drugInfo))" aria-label="Save">
|
|
|
|
|
</RadzenButton>
|
|
|
|
|
<RadzenButton Icon="close" ButtonStyle="ButtonStyle.Light" Variant="Variant.Flat" Size="ButtonSize.Medium" class="my-1 ms-1" Click="@((args) => CancelDrugEdit(drugInfo))" aria-label="Cancel">
|
|
|
|
|
</RadzenButton>
|
|
|
|
|
<RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Variant="Variant.Flat" Shade="Shade.Lighter" Size="ButtonSize.Medium" class="my-1 ms-1" Click="@(args => DeleteDrugRow(drugInfo))" aria-label="Delete">
|
|
|
|
|
</RadzenButton>
|
|
|
|
|
</EditTemplate>
|
|
|
|
|
</RadzenDataGridColumn>
|
|
|
|
|
</Columns>
|
|
|
|
|
</RadzenDataGrid>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-6 mb-4">
|
|
|
|
|
@* <RadzenCard Style="margin-bottom:20px">
|
|
|
|
|
<20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
|
|
|
</RadzenCard> *@
|
|
|
|
|
@if (SelectedDrugs.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
<RadzenDataGrid @ref="ManusGrid" EmptyText="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|
|
|
|
Data="@(SelectedDrugs.FirstOrDefault()?.Manus)"
|
|
|
|
|
RowUpdate="@((DrugManuNo dm) => { OnUpdateRow(dm); })" RowCreate="@((DrugManuNo dm) => { OnCreateRow(dm); })"
|
|
|
|
|
AllowColumnResize="true" AllowAlternatingRows="false">
|
|
|
|
|
@* <HeaderTemplate>
|
|
|
|
|
<RadzenRow JustifyContent="JustifyContent.End" AlignItems="AlignItems.Center">
|
|
|
|
|
<RadzenButton Icon="download" Text="<22><><EFBFBD><EFBFBD>" Variant="Variant.Outlined" />
|
|
|
|
|
</RadzenRow>
|
|
|
|
|
</HeaderTemplate> *@
|
|
|
|
|
<Columns>
|
|
|
|
|
<RadzenDataGridColumn Title="<22><><EFBFBD><EFBFBD>" Property="index">
|
|
|
|
|
<Template Context="data">
|
|
|
|
|
@(SelectedDrugs.FirstOrDefault()?.Manus.IndexOf(data) + 1)
|
|
|
|
|
</Template>
|
|
|
|
|
</RadzenDataGridColumn>
|
|
|
|
|
<RadzenDataGridColumn Title="<22><><EFBFBD><EFBFBD>" Property="ManuNo">
|
|
|
|
|
<EditTemplate Context="drugManuNo">
|
|
|
|
|
<RadzenTextBox Name="ManuNo" @bind-Value="drugManuNo.ManuNo" Style="width:100%; display: block;" />
|
|
|
|
|
<RadzenRequiredValidator Text="<22><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>" Component="ManuNo" Popup="true" />
|
|
|
|
|
</EditTemplate>
|
|
|
|
|
</RadzenDataGridColumn>
|
|
|
|
|
<RadzenDataGridColumn Title="Ч<><D0A7>" Property="EffDate">
|
|
|
|
|
<EditTemplate Context="drugManuNo">
|
|
|
|
|
<RadzenDatePicker DateFormat="yyyy-MM-dd" @bind-Value="drugManuNo.EffDate" Style="width: 100%;" Name="EffDate" />
|
|
|
|
|
<RadzenRequiredValidator Text="<22><><EFBFBD><EFBFBD>дЧ<D0B4><D0A7>" Component="EffDate" Popup="true" />
|
|
|
|
|
</EditTemplate>
|
|
|
|
|
</RadzenDataGridColumn>
|
|
|
|
|
|
|
|
|
|
<RadzenDataGridColumn Context="drugManuNo" Title="<22><><EFBFBD><EFBFBD>" Filterable="false" Sortable="false" TextAlign="TextAlign.Left" Frozen="true" FrozenPosition="FrozenColumnPosition.Right">
|
|
|
|
|
<Template Context="drugManuNo">
|
|
|
|
|
<RadzenButton Icon="edit" ButtonStyle="ButtonStyle.Light" Variant="Variant.Flat" Size="ButtonSize.Medium" Click="@(args => EditRow(drugManuNo))" @onclick:stopPropagation="true">
|
|
|
|
|
</RadzenButton>
|
|
|
|
|
<RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Variant="Variant.Flat" Shade="Shade.Lighter" Size="ButtonSize.Medium" class="my-1 ms-1" Click="@(args => DeleteRow(drugManuNo))" @onclick:stopPropagation="true">
|
|
|
|
|
</RadzenButton>
|
|
|
|
|
</Template>
|
|
|
|
|
<EditTemplate Context="drugManuNo">
|
|
|
|
|
<RadzenButton Icon="check" ButtonStyle="ButtonStyle.Success" Variant="Variant.Flat" Size="ButtonSize.Medium" Click="@((args) => SaveRow(drugManuNo))" aria-label="Save">
|
|
|
|
|
</RadzenButton>
|
|
|
|
|
<RadzenButton Icon="close" ButtonStyle="ButtonStyle.Light" Variant="Variant.Flat" Size="ButtonSize.Medium" class="my-1 ms-1" Click="@((args) => CancelEdit(drugManuNo))" aria-label="Cancel">
|
|
|
|
|
</RadzenButton>
|
|
|
|
|
<RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Variant="Variant.Flat" Shade="Shade.Lighter" Size="ButtonSize.Medium" class="my-1 ms-1" Click="@(args => DeleteRow(drugManuNo))" aria-label="Delete">
|
|
|
|
|
</RadzenButton>
|
|
|
|
|
</EditTemplate>
|
|
|
|
|
</RadzenDataGridColumn>
|
|
|
|
|
</Columns>
|
|
|
|
|
</RadzenDataGrid>
|
|
|
|
|
<div style="margin-top:5px">
|
|
|
|
|
<RadzenButton Size="ButtonSize.Medium" ButtonStyle="ButtonStyle.Success" Icon="add_circle_outline" Click="@InsertRow" Text="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" />
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
@code {
|
|
|
|
|
@inject IDrugInfoDao drugInfoDao;
|
|
|
|
|
@inject DialogService dialogService;
|
|
|
|
|
@inject IDrugManuNoDao drugManuNoDao;
|
2025-08-11 14:58:39 +08:00
|
|
|
|
@inject Toolbelt.Blazor.I18nText.I18nText I18nText;
|
|
|
|
|
private I18nText.local myText = new I18nText.local();
|
2025-04-18 11:01:56 +08:00
|
|
|
|
RadzenDataGrid<DrugInfo> grid;
|
|
|
|
|
RadzenDataGrid<DrugManuNo> ManusGrid;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<DrugManuNo> manuNoToInsert = new List<DrugManuNo>();
|
|
|
|
|
List<DrugManuNo> manuNoToUpdate = new List<DrugManuNo>();
|
|
|
|
|
|
|
|
|
|
bool isLoading;
|
|
|
|
|
int count;
|
|
|
|
|
private IEnumerable<DrugInfo>? _forecasts;
|
|
|
|
|
|
|
|
|
|
IList<DrugInfo> SelectedDrugs { get; set; } = new List<DrugInfo>();
|
|
|
|
|
string DrugId;
|
|
|
|
|
string DrugName;
|
|
|
|
|
|
|
|
|
|
async Task LoadData(LoadDataArgs args)
|
|
|
|
|
{
|
|
|
|
|
isLoading = true;
|
|
|
|
|
|
|
|
|
|
var result = await drugInfoDao.GetAllDrug(DrugId, DrugName, args.Top, args.Skip);
|
|
|
|
|
// Update the Data property
|
|
|
|
|
_forecasts = result.Desserts;
|
|
|
|
|
count = result.TotalDesserts;
|
|
|
|
|
SelectedDrugs = new List<DrugInfo>() { _forecasts.FirstOrDefault() };
|
|
|
|
|
|
|
|
|
|
isLoading = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async Task reloadGrid()
|
|
|
|
|
{
|
|
|
|
|
DrugId = String.Empty;
|
|
|
|
|
DrugName = String.Empty;
|
|
|
|
|
await grid.Reload();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Reset()
|
|
|
|
|
{
|
|
|
|
|
manuNoToInsert.Clear();
|
|
|
|
|
manuNoToUpdate.Clear();
|
|
|
|
|
}
|
|
|
|
|
void Reset(DrugManuNo drugManuNo)
|
|
|
|
|
{
|
|
|
|
|
manuNoToInsert.Remove(drugManuNo);
|
|
|
|
|
manuNoToUpdate.Remove(drugManuNo);
|
|
|
|
|
}
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD>ҩƷ
|
|
|
|
|
async Task InsertDrugRow()
|
|
|
|
|
{
|
|
|
|
|
var drugInfo = new DrugInfo();
|
|
|
|
|
drugInfo.Manus.Add(new DrugManuNo());
|
|
|
|
|
SelectedDrugs.Add(drugInfo);
|
|
|
|
|
await grid.InsertRow(drugInfo);
|
|
|
|
|
}
|
|
|
|
|
// //<2F><><EFBFBD><EFBFBD>ҩƷ<D2A9><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
async Task OnDrugUpdateRow(DrugInfo drugInfo)
|
|
|
|
|
{
|
|
|
|
|
// <20><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>ҩƷ
|
|
|
|
|
drugInfoDao.UpdateDrugInfo(drugInfo);
|
|
|
|
|
grid.Reload();
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ҩƷ<D2A9><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
async Task OnDrugCreateRow(DrugInfo drugInfo)
|
|
|
|
|
{
|
|
|
|
|
// <20><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>ҩƷ
|
|
|
|
|
drugInfoDao.AddDrugInfo(drugInfo);
|
|
|
|
|
grid.Reload();
|
|
|
|
|
}
|
|
|
|
|
async Task EditDrugRow(DrugInfo drugInfo)
|
|
|
|
|
{
|
|
|
|
|
drugInfoDao.UpdateDrugInfo(drugInfo);
|
|
|
|
|
await grid.EditRow(drugInfo);
|
|
|
|
|
}
|
|
|
|
|
async Task SaveDrugRow(DrugInfo drugInfo)
|
|
|
|
|
{
|
|
|
|
|
await grid.UpdateRow(drugInfo);
|
|
|
|
|
}
|
|
|
|
|
void CancelDrugEdit(DrugInfo drugInfo)
|
|
|
|
|
{
|
|
|
|
|
Reset();
|
|
|
|
|
grid.CancelEditRow(drugInfo);
|
|
|
|
|
grid.Reload();
|
|
|
|
|
}
|
|
|
|
|
async Task DeleteDrugRow(DrugInfo drugInfo)
|
|
|
|
|
{
|
|
|
|
|
Reset();
|
|
|
|
|
if(!string.IsNullOrEmpty(drugInfo.DrugId))
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
|
2025-05-20 11:17:07 +08:00
|
|
|
|
var b = await dialogService.OpenAsync<ConfirmDialog>(
|
2025-04-18 11:01:56 +08:00
|
|
|
|
$"ɾ<><C9BE>ȷ<EFBFBD><C8B7>",
|
2025-05-20 11:17:07 +08:00
|
|
|
|
new Dictionary<string, object>() { { "confirmInfo", "ȷ<><C8B7>Ҫɾ<D2AA><C9BE>ҩƷ<D2A9><C6B7>"+drugInfo.DrugName+"<22><><EFBFBD><EFBFBD>" } },
|
2025-04-18 11:01:56 +08:00
|
|
|
|
new DialogOptions() { Width = "45vw", Resizable = true, Draggable = true, ShowClose = false });
|
2025-06-24 08:55:34 +08:00
|
|
|
|
if(b)
|
2025-04-18 11:01:56 +08:00
|
|
|
|
{
|
|
|
|
|
// <20><><EFBFBD>ݿ<EFBFBD>ɾ<EFBFBD><C9BE>
|
|
|
|
|
drugInfoDao.DeleteDrugInfo(drugInfo.DrugId);
|
|
|
|
|
}
|
|
|
|
|
grid.Reload();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
async Task InsertRow()
|
|
|
|
|
{
|
|
|
|
|
var drugManuNo = new Pojo.DrugManuNo()
|
|
|
|
|
{
|
|
|
|
|
Id = Guid.NewGuid().ToString(),
|
|
|
|
|
DrugId = SelectedDrugs.FirstOrDefault().DrugId
|
|
|
|
|
};
|
|
|
|
|
SelectedDrugs.FirstOrDefault().Manus.Add(drugManuNo);
|
|
|
|
|
await ManusGrid.InsertRow(drugManuNo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async Task EditRow(DrugManuNo drugManuNo)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
Reset();
|
|
|
|
|
|
|
|
|
|
manuNoToUpdate.Add(drugManuNo);
|
|
|
|
|
await ManusGrid.EditRow(drugManuNo);
|
|
|
|
|
}
|
|
|
|
|
async Task SaveRow(DrugManuNo drugManuNo)
|
|
|
|
|
{
|
|
|
|
|
await ManusGrid.UpdateRow(drugManuNo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CancelEdit(DrugManuNo drugManuNo)
|
|
|
|
|
{
|
|
|
|
|
Reset(drugManuNo);
|
2025-06-24 08:55:34 +08:00
|
|
|
|
SelectedDrugs.FirstOrDefault().Manus.Remove(drugManuNo);
|
2025-04-18 11:01:56 +08:00
|
|
|
|
ManusGrid.CancelEditRow(drugManuNo);
|
|
|
|
|
ManusGrid.Reload();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async Task DeleteRow(DrugManuNo drugManuNo)
|
|
|
|
|
{
|
|
|
|
|
Reset(drugManuNo);
|
|
|
|
|
|
|
|
|
|
if (SelectedDrugs.FirstOrDefault().Manus.Contains(drugManuNo))
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
|
2025-05-20 11:17:07 +08:00
|
|
|
|
var b = await dialogService.OpenAsync<ConfirmDialog>(
|
2025-04-18 11:01:56 +08:00
|
|
|
|
$"ȷ<><C8B7>ɾ<EFBFBD><C9BE>",
|
2025-05-20 11:17:07 +08:00
|
|
|
|
new Dictionary<string, object>() { { "confirmInfo", "ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD>"+drugManuNo.ManuNo+"<22><><EFBFBD><EFBFBD>" } },
|
2025-04-18 11:01:56 +08:00
|
|
|
|
new DialogOptions() { Width = "45vw", Resizable = true, Draggable = true, ShowClose = false }
|
|
|
|
|
);
|
|
|
|
|
if(b)
|
|
|
|
|
{
|
2025-06-24 08:55:34 +08:00
|
|
|
|
SelectedDrugs.FirstOrDefault().Manus.Remove(drugManuNo);
|
2025-04-18 11:01:56 +08:00
|
|
|
|
// <20><><EFBFBD>ݿ<EFBFBD>ɾ<EFBFBD><C9BE>
|
|
|
|
|
drugManuNoDao.DeleteDrugManuNo(drugManuNo.Id);
|
|
|
|
|
await ManusGrid.Reload();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
ManusGrid.CancelEditRow(drugManuNo);
|
|
|
|
|
await ManusGrid.Reload();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void OnUpdateRow(DrugManuNo dm)
|
|
|
|
|
{
|
|
|
|
|
Reset(dm);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
drugManuNoDao.UpdateDrugManuNo(dm);
|
|
|
|
|
ManusGrid.Reload();
|
|
|
|
|
}
|
|
|
|
|
void OnCreateRow(DrugManuNo dm)
|
|
|
|
|
{
|
|
|
|
|
// <20><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
drugManuNoDao.AddDrugManuNo(dm);
|
|
|
|
|
manuNoToInsert.Remove(dm);
|
|
|
|
|
ManusGrid.Reload();
|
|
|
|
|
}
|
2025-08-11 14:58:39 +08:00
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
|
|
|
{
|
|
|
|
|
myText = await I18nText.GetTextTableAsync<I18nText.local>(this);
|
|
|
|
|
await base.OnInitializedAsync();
|
|
|
|
|
}
|
2025-04-18 11:01:56 +08:00
|
|
|
|
|
|
|
|
|
}
|