@page "/stock/list"
@using MasaBlazorApp3.Report
    
    
        @* 
            
                
                
            
         *@
        
            
                
                    
                        
                            @s.DrawerNo - @s.ColNo
                        
                    
                    
                    
                    
                    
                        
                            @{
                                DateTime dateTime;
                                bool success = DateTime.TryParse(s.EffDate, out dateTime);
                                if (success && dateTime <= DateTime.Now.AddMonths(3))
                                {
                                    @s.EffDate
                                    近效期药品!
                                }
                                else
                                {
                                    @s.EffDate
                                }
                            }
                        
                    
                
            
        
        
            
            
            
                
                    @if (s.StockQuantity < 10)
                    {
                        @s.StockQuantity
                        库存预警!
                    }
                    else
                    {
                        @s.StockQuantity
                    }
                
            
        
    
 
@code {
    @inject IDrugInfoDao drugInfoDao;
    @inject DialogService dialogService;
    @inject IReportDataDao reportDataDao;
    RadzenDataGrid grid;
    bool isLoading;
    int count;
    private IEnumerable? _forecasts;
    DateTime? start;
    DateTime? end;
    string drugName;
    IEnumerable drugInfo;
    protected override async Task OnInitializedAsync()
    {
        await base.OnInitializedAsync();
        isLoading = true;
        var result = await drugInfoDao.GetAllDrugAndStock();
        // Update the Data property
        _forecasts = result;
        drugInfo = await drugInfoDao.GetAllDrug();
        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 args)
    {
        args.Expandable = args.Data.Stocks.Count > 0;
    }
    //库存导出
    async Task StockExport()
    {
        PageData pageData = await reportDataDao.GetStockExportData(drugName);
        GridReportUtil.PrintReport("stock_template.grf", pageData);
    }
    //专用账册导出
    async Task AccountBookExport()
    {
        // string drugId = drugName != null ? drugName.Split('/').Last().Trim():"";
        // GridReportUtil gridReportUtil = new GridReportUtil();
        PageData pageData = await reportDataDao.GetAccountExportData(start, end, drugName);
        GridReportUtil.PrintReport("account_book_temp.grf", pageData);
    }
    //重置
    async Task reloadGrid()
    {
        start = DateTime.MinValue;
        end = DateTime.MinValue;
        drugName = string.Empty;
        await grid.Reload();
    }
}