198 lines
7.6 KiB
Plaintext
198 lines
7.6 KiB
Plaintext
@page "/Box/BoxAdd"
|
|
@using MasaBlazorApp3.Report
|
|
@using Radzen.Blazor.Rendering
|
|
<style>
|
|
@@keyframes shake {
|
|
0% {
|
|
opacity: 1;
|
|
color: red;
|
|
}
|
|
|
|
25% {
|
|
opacity: 1;
|
|
color: orange;
|
|
}
|
|
|
|
50% {
|
|
opacity: 0;
|
|
color: yellow;
|
|
}
|
|
|
|
75% {
|
|
opacity: 1;
|
|
color: crimson;
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
color: red;
|
|
}
|
|
}
|
|
|
|
.rz-custom-header {
|
|
width: 100%;
|
|
}
|
|
|
|
.shaky-text {
|
|
animation: shake 2s infinite ease-in-out;
|
|
/* 你可以根据需要调整动画的持续时间和迭代次数 */
|
|
transition: color 0.5s linear,opacity 0.5s linear;
|
|
}
|
|
|
|
.my-popup {
|
|
display: none;
|
|
position:absolute;
|
|
overflow: hidden;
|
|
/* height: 360px;
|
|
width: 600px; */
|
|
border: var(--rz-panel-border);
|
|
background-color: var(--rz-panel-background-color);
|
|
box-shadow: var(--rz-panel-shadow);
|
|
border-radius: var(--rz-border-radius);
|
|
}
|
|
</style>
|
|
|
|
<div class="container-fluid">
|
|
@* <RadzenFieldset Text="报表导出">
|
|
<RadzenStack Orientation="Orientation.Horizontal" Gap="1rem">
|
|
<RadzenRow JustifyContent="JustifyContent.End" AlignItems="AlignItems.Center">
|
|
<RadzenButton @ref=button Icon="download" Text="请领登记表导出" Variant="Variant.Outlined" Click="@(args => popup.ToggleAsync(button.Element))" />
|
|
<Popup @ref=popup Lazy=true class="my-popup">
|
|
<RadzenStack Orientation="Orientation.Vertical" Gap="1rem" class="rz-h-100 rz-p-4">
|
|
<RadzenFieldset Text="条件选择">
|
|
<RadzenStack Orientation="Orientation.Horizontal" Gap="1rem">
|
|
<RadzenRow AlignItems="AlignItems.Center">
|
|
<RadzenColumn Size="4">
|
|
<RadzenLabel Text="查询时间" Component="Start" />
|
|
</RadzenColumn>
|
|
<RadzenColumn Size="8">
|
|
<RadzenDatePicker DateFormat="yyyy-MM-dd" @bind-Value="start" Style="width: 100%;" Name="Start" />
|
|
</RadzenColumn>
|
|
</RadzenRow>
|
|
<RadzenRow JustifyContent="JustifyContent.End" AlignItems="AlignItems.Center">
|
|
<RadzenButton Icon="download" Text="导出" Variant="Variant.Outlined" Click="AccountBookExport" />
|
|
</RadzenRow>
|
|
</RadzenStack>
|
|
</RadzenFieldset>
|
|
</RadzenStack>
|
|
</Popup>
|
|
</RadzenRow>
|
|
</RadzenStack>
|
|
</RadzenFieldset> *@
|
|
<RadzenDataGrid @ref="grid" RowSelect="@OnRowSelect" TItem="ChannelList"
|
|
RowRender="@RowRender"
|
|
EmptyText="无数据"
|
|
Data="@_forecasts" @bind-Value=@selectedChannelLists
|
|
AllowColumnResize="true" AllowAlternatingRows="false"
|
|
SelectionMode="DataGridSelectionMode.Single"
|
|
ExpandMode="DataGridExpandMode.Multiple" LoadData="@LoadData" IsLoading="@isLoading" Count="@count"
|
|
AllowPaging="true" PageSize="10" PagerHorizontalAlign="HorizontalAlign.Left" ShowPagingSummary="true" PagingSummaryFormat="{0}/{1} 共{2}条数据">
|
|
<Template Context="cs">
|
|
<RadzenDataGrid Data="@cs.ChannelStocks" EmptyText="无数据">
|
|
<Columns>
|
|
<RadzenDataGridColumn Title="药品名称" Property="Drug.DrugName">
|
|
</RadzenDataGridColumn>
|
|
<RadzenDataGridColumn Title="规格" Property="Drug.DrugSpec">
|
|
</RadzenDataGridColumn>
|
|
<RadzenDataGridColumn Title="厂家" Property="Drug.Manufactory">
|
|
</RadzenDataGridColumn>
|
|
@* <RadzenDataGridColumn Title="批次" Property="ManuNo"></RadzenDataGridColumn>
|
|
<RadzenDataGridColumn Title="效期" Property="EffDate">
|
|
</RadzenDataGridColumn> *@
|
|
<RadzenDataGridColumn Title="基数" Property="BaseQuantity">
|
|
</RadzenDataGridColumn>
|
|
<RadzenDataGridColumn Title="需补药数" Property="NeedQuantity">
|
|
</RadzenDataGridColumn>
|
|
</Columns>
|
|
</RadzenDataGrid>
|
|
</Template>
|
|
<Columns>
|
|
<RadzenDataGridColumn Frozen="true" Width="200px" Title="药盒号" Property="DrawerNo">
|
|
<Template Context="DrawerNo">
|
|
|
|
@(DrawerNo.DrawerNo == 99 ? "急诊药盒" : DrawerNo.DrawerNo == 111 ? "恢复室药盒" :
|
|
DrawerNo.DrawerNo == 31 ? "胃镜药盒" :
|
|
DrawerNo.DrawerNo == 32 ? "导管药盒" :
|
|
DrawerNo.DrawerNo == 33 ? "生殖药盒" :
|
|
DrawerNo.DrawerNo == 34 ? "妇门药盒" : $"{DrawerNo.DrawerNo}-{(DrawerNo.ColNo == 1 ? '白' : '绿')}")
|
|
@* @(DrawerNo.DrawerNo == 99 ? "急诊药盒" : DrawerNo.DrawerNo == 111 ? "恢复室药盒" : $"{DrawerNo.DrawerNo}-{(DrawerNo.ColNo==1?'白':'绿')}") *@
|
|
|
|
@* @($"{DrawerNo.DrawerNo}-{DrawerNo.ColNo}") *@
|
|
</Template>
|
|
</RadzenDataGridColumn>
|
|
<RadzenDataGridColumn Title="总库存" Property="TotalQuantity"></RadzenDataGridColumn>
|
|
</Columns>
|
|
</RadzenDataGrid>
|
|
</div>
|
|
|
|
@code {
|
|
@inject IChannelListDao channelStockDao;
|
|
@inject DialogService dialogService;
|
|
@inject IReportDataDao reportDataDao;
|
|
RadzenDataGrid<ChannelList> grid;
|
|
bool isLoading;
|
|
int count;
|
|
private IEnumerable<ChannelList>? _forecasts;
|
|
DateTime start;
|
|
DateTime end;
|
|
RadzenButton button;
|
|
Popup popup;
|
|
IList<ChannelList> selectedChannelLists;
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
await base.OnInitializedAsync();
|
|
|
|
}
|
|
async Task LoadData(LoadDataArgs args)
|
|
{
|
|
isLoading = true;
|
|
|
|
var result = await channelStockDao.GetAllBoxAddDrug(args.Top, args.Skip);
|
|
// Update the Data property
|
|
_forecasts = result.Desserts;
|
|
isLoading = false;
|
|
}
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
base.OnAfterRender(firstRender);
|
|
|
|
if (firstRender)
|
|
{
|
|
// await grid.ExpandRows(grid.PagedView.Where(di => di.Stocks.Count > 0));
|
|
}
|
|
}
|
|
|
|
void RowRender(RowRenderEventArgs<ChannelList> args)
|
|
{
|
|
args.Expandable = args.Data.ChannelStocks.Count > 0;
|
|
}
|
|
|
|
async void OnRowSelect(ChannelList cl)
|
|
{
|
|
var b = await dialogService.OpenAsync<BoxAddDetailDialog>(
|
|
cl.DrawerNo==99?"急诊药盒":cl.DrawerNo==111?"恢复室药盒":$"{cl.DrawerNo}-{(cl.ColNo==1?'白':'绿')} 药盒加药",
|
|
new Dictionary<string, object>() { { "boxChannelList", cl } },
|
|
new DialogOptions() { Width = "85vw", Resizable = true, Draggable = true, ShowClose = false }
|
|
);
|
|
if (b)
|
|
{
|
|
await grid.Reload();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//请领登记表导出
|
|
async Task AccountBookExport()
|
|
{
|
|
// string drugId = drugName != null ? drugName.Split('/').Last().Trim():"";
|
|
// GridReportUtil gridReportUtil = new GridReportUtil();
|
|
PageData<ReportApplyInfo> pageData = await reportDataDao.GetApplyInfoDate(start);
|
|
GridReportUtil.PrintReport("account_book_temp.grf", pageData);
|
|
}
|
|
|
|
|
|
|
|
}
|