@page "/usedetail/input"
|
@inject GrpcChannel Channel
|
@inject IJSRuntime JSRuntime
|
@inject IGlobalLoadingSpinner LoadingSpinner
|
@using HotelPms.Client.Blazor.Models
|
@using HotelPms.Client.Blazor.Services
|
@using HotelPms.Data.Common
|
@using HotelPms.Data.Common.Pagination
|
@using Google.Protobuf.WellKnownTypes
|
@using System.Text.Json
|
@using System.Text
|
@using ViewModel = HotelPms.Client.Blazor.ViewModel
|
@using static HotelPms.Client.Blazor.Util.SystemEnum
|
@inject IDialogService DialogService
|
@inject NavigationManager NavigationManager
|
@implements IDisposable
|
@inject ISnackbar Snackbar
|
|
<h3>詳細画面</h3>
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-3 mb-3">
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton @ref="btnSave" Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.ReadMore" OnClick="Save">登録</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input" OnClick="Refresh">再表示</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.ReadMore" OnClick="UseSearch">利用検索</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.PostAdd">新規</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">顧客検索</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">伝票入力</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">タイプ別残室</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">団体調整</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">顧客履歴</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">領収書</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">VOID</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">キャンセル</MudButton>
|
</MudItem>
|
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">付箋</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">レジスト</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">コピー</MudButton>
|
</MudItem>
|
<MudItem lg="1" Class="mt-0 pt-0">
|
<MudButton Variant="Variant.Filled" Style="@buttonStyle" StartIcon="@Icons.Filled.Input">見積書</MudButton>
|
</MudItem>
|
</MudGrid>
|
<MudExpansionPanels MultiExpansion="true">
|
<MudExpansionPanel Text="基本情報" IsInitiallyExpanded="true" Class="mt-0 mb-1">
|
<MudGrid Spacing="2" Justify="Justify.FlexStart" Class="align-center mb-1">
|
<MudItem lg="3">
|
<ResvInfo Data="@Data" @ref="m_GroupResv" Style="@baseInfoStyle" RowSpaceStyle="@rowSpaceStyle" />
|
</MudItem>
|
<MudItem lg="3">
|
<PersonInfo Data="@Data" ParentShowList="CallBackShowList" @ref="m_GroupPerson" Style="@baseInfoStyle" />
|
</MudItem>
|
<MudItem lg="3">
|
<CompanyInfo Data="@Data" ParentShowList="CallBackShowList" @ref="m_GroupCompany" Style="@baseInfoStyle" />
|
</MudItem>
|
<MudItem lg="3">
|
<OtherInfo Data="@Data" ParentShowList="CallBackShowList" @ref="m_GroupOther" Style="@baseInfoStyle" />
|
</MudItem>
|
</MudGrid>
|
</MudExpansionPanel>
|
<MudExpansionPanel Text="詳細情報" IsInitiallyExpanded="true" Class="mt-0 mb-1">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-top mt-0 pt-0 mb-0 pb-0">
|
<MudItem lg="3" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-top mt-0 pt-0 mb-0 pb-0">
|
<MudItem lg="12" Class="mt-0 pt-0 mb-3 pb-0">
|
<MudPaper Class="pa-2">
|
<MudStack Spacing="1">
|
<MudStack Row="true">
|
<MudText Typo="Typo.h6">利用日</MudText>
|
<MudText Typo="Typo.h6">@Data.UseDate</MudText>
|
<MudText Typo="Typo.h6">@CConvert.ToDateString(Data.UseDate, "(ddd)")</MudText>
|
</MudStack>
|
<MudStack Row="true" Spacing="0" Justify="Justify.Center" Style="width: 280px;" Class="slip-row-center">
|
<MudIconButton Icon="@Icons.Filled.FastRewind" Color="MudBlazor.Color.Primary"></MudIconButton>
|
<MudTextField T="int" @bind-Value="@Data.CurrentStay" Mask="@(new PatternMask("000"))" Margin="Margin.Dense" />
|
<MudTextField T="string" Text = "/" ReadOnly="true" Margin="Margin.Dense" Style="width: 30px;" />
|
<MudTextField T="string" Text="999" ReadOnly="true" Margin="Margin.Dense" Style="width: 80px;" />
|
<MudIconButton Icon="@Icons.Filled.FastForward" Color="MudBlazor.Color.Primary"></MudIconButton>
|
</MudStack>
|
</MudStack>
|
</MudPaper>
|
</MudItem>
|
<MudItem lg="12" Class="mt-0 pt-0 mb-3 pb-0">
|
<RoomTypeInput Data="@Data" OnRefresh="@RoomTypeChange"></RoomTypeInput>
|
</MudItem>
|
<MudItem lg="12" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudCard Style="height: 100%" Elevation="4">
|
<MudCardHeader Class="mb-0 pb-0">
|
<CardHeaderContent>
|
<MudText Typo="Typo.body1">部屋一覧</MudText>
|
</CardHeaderContent>
|
</MudCardHeader>
|
<MudCardContent Class="mt-0 pt-0 mb-0 pb-1">
|
<MudTable id="gdi-room-list" T="UseRoomRow" Items="@Data.UseRoomList" @ref="mudUseRoomTable" @bind-SelectedItem="Data.SelUseRoomRow" RowClassFunc="@SelectedRowClassFunc" OnRowClick="RowClickEvent" Dense="true" Hover="true" ReadOnly="false" FixedHeader="true" Height="248px" Striped="true" Elevation="0">
|
<ColGroup>
|
<col style="width:70px;" />
|
<col />
|
<col style="width:50px;" />
|
<col style="width:50px;" />
|
</ColGroup>
|
<HeaderContent>
|
<MudTh>部屋</MudTh>
|
<MudTh>氏名</MudTh>
|
<MudTh>状</MudTh>
|
<MudTh>代</MudTh>
|
</HeaderContent>
|
<RowTemplate>
|
<MudTd DataLabel="部屋">@context.RoomID</MudTd>
|
<MudTd DataLabel="氏名">@context.Name</MudTd>
|
<MudTd DataLabel="状">@context.UseStatus</MudTd>
|
@if(context.AllSel)
|
{
|
<MudTd DataLabel="代"></MudTd>
|
}
|
else
|
{
|
<MudTd DataLabel="代"><MudCheckBox Checked="@context.Representative" Dense="true" T="bool"></MudCheckBox></MudTd>
|
}
|
</RowTemplate>
|
</MudTable>
|
</MudCardContent>
|
</MudCard>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="9" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTabs Class="mt-0 mb-0" Elevation="4" Rounded="true" Color="@Color.Success" PrevIcon="@Icons.Filled.SkipPrevious" NextIcon="@Icons.Filled.SkipNext" SliderColor="@Color.Error" ActivePanelIndexChanged="TabChanged">
|
<MudTabPanel Text="料金情報">
|
<SaleInput @ref="saleInput" Data="@Data" OnRefresh="@RefreshSaleInput"></SaleInput>
|
</MudTabPanel>
|
<MudTabPanel Text="拡張情報">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mb-0 mt-1 pb-0">
|
<MudItem lg="3">
|
<MudCard Style="@addInfoStyle" Elevation="4">
|
<MudCardHeader Class="mb-0 pb-0">
|
<CardHeaderContent>
|
<MudText Typo="Typo.body1">予約追加情報</MudText>
|
</CardHeaderContent>
|
</MudCardHeader>
|
<MudCardContent Class="mt-0 pt-0 mb-0 pb-0">
|
<MudGrid Spacing="3" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
</MudGrid>
|
</MudCardContent>
|
</MudCard>
|
</MudItem>
|
<MudItem lg="3">
|
<MudCard Style="@addInfoStyle" Elevation="4">
|
<MudCardHeader Class="mb-0 pb-0">
|
<CardHeaderContent>
|
<MudText Typo="Typo.body1">個人追加情報</MudText>
|
</CardHeaderContent>
|
</MudCardHeader>
|
<MudCardContent Class="mt-0 pt-0 mb-0 pb-0">
|
<MudGrid Spacing="3" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="電話番号②" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="区分" Margin="Margin.Dense" MaxLength="50" ReadOnly="true" />
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="郵便番号" MaxLength="50" Margin="Margin.Dense" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="都道府県" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="DM" Margin="Margin.Dense" MaxLength="50" ReadOnly="true" />
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="市区町村" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="町域" MaxLength="50" Margin="Margin.Dense" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="番地" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="メール" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="パスポート" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="性別" Margin="Margin.Dense" MaxLength="50" ReadOnly="true" />
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="6" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudDatePicker Label="誕生日" Margin="Margin.Dense" Editable="true" @bind-Date="useDate" />
|
</MudItem>
|
<MudItem xs="6" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudDatePicker Label="記念日" Margin="Margin.Dense" Editable="true" @bind-Date="useDate" />
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
</MudGrid>
|
</MudCardContent>
|
</MudCard>
|
</MudItem>
|
<MudItem lg="3">
|
<MudCard Style="@addInfoStyle" Elevation="4">
|
<MudCardHeader Class="mb-0 pb-0">
|
<CardHeaderContent>
|
<MudText Typo="Typo.body1">会社追加情報</MudText>
|
</CardHeaderContent>
|
</MudCardHeader>
|
<MudCardContent Class="mt-0 pt-0 mb-0 pb-0">
|
<MudGrid Spacing="3" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="所属" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="役職" MaxLength="50" Margin="Margin.Dense" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="郵便番号" MaxLength="50" Margin="Margin.Dense" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="都道府県" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="市区町村" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="町域" MaxLength="50" Margin="Margin.Dense" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="番地" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudTextField T="string" Label="法人備考" Lines="4" MaxLength="500" Margin="Margin.Dense" />
|
</MudItem>
|
</MudGrid>
|
</MudCardContent>
|
</MudCard>
|
</MudItem>
|
<MudItem lg="3">
|
<MudCard Style="@addInfoStyle" Elevation="4">
|
<MudCardHeader Class="mb-0 pb-0">
|
<CardHeaderContent>
|
<MudText Typo="Typo.body1">顧客自由集計</MudText>
|
</CardHeaderContent>
|
</MudCardHeader>
|
<MudCardContent Class="mt-0 pt-0 mb-0 pb-0">
|
<MudGrid Spacing="3" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
<MudItem lg="12" Class="@rowSpaceStyle">
|
<MudGrid Spacing="1" Justify="Justify.FlexStart" Class="align-center mt-0 pt-0 mb-0 pb-0">
|
<MudItem xs="4" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudTextField T="string" Label="自由集計" Margin="Margin.Dense" MaxLength="50" />
|
</MudItem>
|
<MudItem xs="8" Class="mt-0 pt-0 mb-0 pb-0">
|
<MudField Margin="Margin.Dense"></MudField>
|
</MudItem>
|
</MudGrid>
|
</MudItem>
|
</MudGrid>
|
</MudCardContent>
|
</MudCard>
|
</MudItem>
|
</MudGrid>
|
</MudTabPanel>
|
</MudTabs>
|
</MudItem>
|
</MudGrid>
|
</MudExpansionPanel>
|
<MudExpansionPanel Text="メモ" IsInitiallyExpanded="true" Class="mt-0 mb-1">
|
<MudDynamicTabs Elevation="4" Rounded="true" ApplyEffectsToContainer="true" PanelClass="px-4 py-6" AddTab="AddTabCallback" CloseTab="@((panel) => CloseTabCallback(panel))" @bind-ActivePanelIndex="_index" AddIconToolTip="Click here to add a new tab" CloseIconToolTip="Close this tab. All data will be lost">
|
@foreach (var item in _tabs)
|
{
|
<MudTabPanel Text="@item.Name" Tag="@item.Id">
|
<MudTextField @ref="multilineReference" T="string" Lines="3" Variant="Variant.Outlined" Text="@item.Content" Adornment="Adornment.End" AdornmentIcon="@Icons.Filled.Api" OnAdornmentClick="@(() => multilineReference.SelectAsync())" />
|
</MudTabPanel>
|
}
|
</MudDynamicTabs>
|
</MudExpansionPanel>
|
<MudExpansionPanel Text="備考" IsInitiallyExpanded="true" Class="mt-0 mb-1">
|
<MudTextField @ref="multilineReference" T="string" Lines="3" Variant="Variant.Outlined" Text="" Adornment="Adornment.End" AdornmentIcon="@Icons.Filled.Api" OnAdornmentClick="@(() => multilineReference.SelectAsync())" />
|
</MudExpansionPanel>
|
<MudExpansionPanel Text="前回情報" IsInitiallyExpanded="true" Class="mt-0 mb-1">
|
Panel Three Content
|
</MudExpansionPanel>
|
</MudExpansionPanels>
|
|
<style>
|
.selected {
|
background-color: #1E88E5 !important;
|
}
|
|
.selected > td {
|
color: white !important;
|
}
|
|
.selected > td .mud-input {
|
color: white !important;
|
}
|
|
.slip-row > .mud-input-control > .mud-input-control-input-container > div.mud-input.mud-input-text {
|
margin-top: 0px;
|
}
|
|
.slip-row-center > .mud-input-control > .mud-input-control-input-container > div.mud-input.mud-input-text {
|
margin-top: 0px;
|
}
|
|
.slip-row-right > .mud-input-control > .mud-input-control-input-container > div.mud-input.mud-input-text {
|
margin-top: 0px;
|
}
|
|
.slip-row-center > .mud-input-control > .mud-input-control-input-container > div > input {
|
text-align: center;
|
}
|
|
.slip-row-right > input {
|
text-align: right;
|
}
|
</style>
|
|
@code {
|
#region 定義
|
|
[Inject] public IJsInputCoreService JsInputCore { get; set; }
|
private Parameter.UseInputArgs m_Para;
|
private ViewModel.UseInput Data;
|
|
private int spacing { get; set; } = 3;
|
private string buttonStyle = $"color:{Colors.Shades.White};background-color:{Colors.Green.Darken2};width: 130px; height: 35px;";
|
private bool renderUI = true;
|
private string rowSpaceStyle = "mt-2 pt-0 mb-0 pb-0";
|
private string baseInfoStyle = "height: 480px";
|
private string addInfoStyle = "height: 600px";
|
|
private ResvInfo m_GroupResv; //基本情報
|
private PersonInfo m_GroupPerson;
|
private CompanyInfo m_GroupCompany;
|
private OtherInfo m_GroupOther;
|
|
private static RenderFragment RenderMessage(string text) =>@<MessageContext Text="@text" />;
|
|
DateTime? useDate;
|
private MudButton btnSave;
|
private MudTextField<string> multilineReference;
|
private SaleInput saleInput;
|
|
#endregion
|
|
#region Class Event
|
|
/// <summary>
|
/// サーバーと通信しないべき
|
/// </summary>
|
protected override void OnInitialized()
|
{
|
Data = new ViewModel.UseInput(JSRuntime);
|
Data.ErrRefresh = new Action(StateHasChanged); //メイン画面の更新
|
Data.BeforeAutoNextFocus += BeforeAutoNextFocus;
|
Data.BusinessValid += BusinessValid;
|
Data.ShowList += ShowList;
|
|
base.OnInitialized();
|
Restore();
|
}
|
|
/// <summary>
|
/// 一つイベント処理に一回サーバーを通信の原則に基づいて、
|
/// 設定など一回でまとめて取得する
|
/// </summary>
|
/// <returns></returns>
|
protected override async Task OnInitializedAsync()
|
{
|
Console.WriteLine($"パラメータ:{NavigationManager.HistoryEntryState}");
|
if (!string.IsNullOrEmpty(NavigationManager.HistoryEntryState)) { m_Para = Parameter.UseInputArgs.FromJson(NavigationManager.HistoryEntryState); }
|
if(m_Para == null) { m_Para = new(); }
|
|
if (m_Para.ID == 0)
|
{
|
//初期化
|
if (!await Data.CreateDefault(new(m_Para.CinDate), 1))
|
{
|
return;
|
}
|
}
|
else
|
{
|
//取得
|
//Use → ViewModel.UseInput (新規の場合、初期値など)
|
Data.Use = await FakeData.CreateUse();
|
Data.UseDetail = Data.Use.DetailList[0];
|
}
|
Data.UseDate = m_Para.CinDate;
|
Data.SetUseDetailToForm();
|
Data.InitGrid();
|
|
//CreateFakeData();
|
}
|
|
|
protected override bool ShouldRender()
|
{
|
EnvironmentSetting.Debug($"【{DateTime.Now.ToString("HH:mm:ss fff")}】ShouldRender開始:{renderUI}");
|
if (renderUI)
|
{
|
renderUI = false; //重複ShouldRenderを回避する
|
return true;
|
}
|
else
|
{
|
return false;
|
}
|
}
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
{
|
EnvironmentSetting.Debug($"【{DateTime.Now.ToString("HH:mm:ss fff")}】OnAfterRenderAsync開始:{firstRender}");
|
if (firstRender)
|
{
|
await JsInputCore.Init(Data.ID);
|
}
|
|
renderUI = true;
|
if (_updateIndex == true)
|
{
|
_index = _tabs.Count - 1;
|
StateHasChanged();
|
_updateIndex = false;
|
}
|
}
|
|
public async void Dispose()
|
{
|
try
|
{
|
await JsInputCore.Dispose(Data.ID);
|
Data.Dispose(); //必ず解放する
|
}
|
catch { }
|
}
|
|
|
#endregion
|
|
#region Control Event
|
|
#region 上段ボタン処理
|
|
/// <summary>
|
/// 登録
|
/// </summary>
|
/// <returns></returns>
|
private async Task Save()
|
{
|
await LoadingSpinner.ShowAsync();
|
//m_GroupResv.SetResvNo("R_" + DateTime.Now.ToString("HHmmssfff"));
|
|
//ViewModel.UseInputの全体チェック
|
|
//ViewModel.UseInput→Use(一括でgRPCデータ作成)
|
|
//DB更新へ
|
using DataAccessGrpc.Client.UseAccess useAccess = new(EnvironmentSetting.GrpcChannel);
|
DataResult result = await useAccess.SetDataAsync(Data.Use);
|
await LoadingSpinner.HideAsync();
|
}
|
|
/// <summary>
|
/// 再表示
|
/// </summary>
|
/// <returns></returns>
|
private async Task Refresh()
|
{
|
using DataAccessGrpc.Client.UseAccess useAccess = new(EnvironmentSetting.GrpcChannel);
|
var use = await useAccess.GetDataAsync("52");
|
Console.WriteLine(use.DetailList[0].ResvNo);
|
m_GroupResv.SetResvNo(use.DetailList[0].ResvNo);
|
}
|
|
/// <summary>
|
/// 利用検索
|
/// </summary>
|
private void UseSearch()
|
{
|
Console.WriteLine(Data.GetAutoCode());
|
}
|
|
#endregion
|
|
#region ViewModel Event
|
|
private async Task<bool> ShowList(ViewModel.ValidField sender, ViewModel.ValidEventArgs e)
|
{
|
return await ShowListAction(sender, e);
|
}
|
|
/// <summary>
|
/// 業務チェックを行う
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
/// <returns></returns>
|
private async Task<bool> BusinessValid(ViewModel.ValidField sender, ViewModel.ValidEventArgs e)
|
{
|
try
|
{
|
//e.EnterPush:true→enter, false→mouse
|
if (sender.Name == "ResvNo")
|
{
|
//チェック
|
}
|
else if (sender.Name == "ResvType")
|
{
|
sender.DispText = CConvert.GetEnumDescription<EResvType>(CConvert.ToInt(sender.Text));
|
if(sender.DispText.Length == 0)
|
{
|
sender.Error = true;
|
Message.Show(RenderMessage("該当データが存在しません。"));
|
//sender.ErrorText = "コード存在しません。";
|
return false;
|
}
|
}
|
else if (sender.Name == "GroupType")
|
{
|
sender.DispText = CConvert.GetEnumDescription<EGroupType>(CConvert.ToInt(sender.Text));
|
if(sender.DispText.Length == 0)
|
{
|
sender.Error = true;
|
Message.Show(RenderMessage("該当データが存在しません。"));
|
//sender.ErrorText = "コード存在しません。";
|
return false;
|
}
|
}
|
else if (sender.Name == "RoomID")
|
{
|
//Use.RoomID = CConvert.ToInt(sender.Text);
|
}
|
else if (sender.Name == "SalesLoginID")
|
{
|
sender.DispText = await MasterCore.GetSaleLoginName(CConvert.ToInt(sender.Text));
|
if(sender.DispText.Length == 0)
|
{
|
sender.Error = true;
|
Message.Show(RenderMessage("該当データが存在しません。"));
|
//sender.ErrorText = "コード存在しません。";
|
return false;
|
}
|
}
|
else if (sender.Name == "CinDate")
|
{
|
//Use.CinDate = sender.Text;
|
}
|
else if (sender.Name == "CinTime")
|
{
|
//Use.CinTime = sender.Text;
|
}
|
else if (sender.Name == "Stay")
|
{
|
//Use.Stay = CConvert.ToInt(sender.Text);
|
}
|
else if (sender.Name == "CoutDate")
|
{
|
//Use.CoutDate = sender.Text;
|
}
|
else if (sender.Name == "CoutTime")
|
{
|
//Use.CoutTime = sender.Text;
|
}
|
else if (sender.Name == "GroupName")
|
{
|
//Use.GroupName = sender.Text;
|
}
|
else if (sender.Name == "MemberNo")
|
{
|
//Use.MemberNo = sender.Text;
|
}
|
else if (sender.Name == "Tel")
|
{
|
//Use.Tel = sender.Text;
|
}
|
else if (sender.Name == "TelKind")
|
{
|
//Use.TelKind = sender.Text;
|
}
|
else if (sender.Name == "Name")
|
{
|
//Use.Name = sender.Text;
|
}
|
else if (sender.Name == "Kana")
|
{
|
//Use.Kana = sender.Text;
|
}
|
else if (sender.Name == "ResvName")
|
{
|
//Use.ResvName = sender.Text;
|
}
|
else if (sender.Name == "ResvKana")
|
{
|
//Use.ResvKana = sender.Text;
|
}
|
else if (sender.Name == "ResvTel")
|
{
|
//Use.ResvTel = sender.Text;
|
}
|
else if (sender.Name == "CorpID")
|
{
|
//Use.CorpID = CConvert.ToInt(sender.Text);
|
}
|
else if (sender.Name == "CorpName")
|
{
|
//Use.CorpName = sender.Text;
|
}
|
else if (sender.Name == "CorpKana")
|
{
|
//Use.CorpKana = sender.Text;
|
}
|
else if (sender.Name == "CorpTel")
|
{
|
//Use.CorpTel = sender.Text;
|
}
|
else if (sender.Name == "CorpFax")
|
{
|
//Use.CorpFax = sender.Text;
|
}
|
else if (sender.Name == "ReceiptName")
|
{
|
//Use.ReceiptName = sender.Text;
|
}
|
else if (sender.Name == "AreaID")
|
{
|
//Use.AreaID = CConvert.ToInt(sender.Text);
|
}
|
else if (sender.Name == "CharacterType")
|
{
|
//Use.CharacterType = CConvert.ToInt(sender.Text);
|
}
|
else if (sender.Name == "CustomerRig")
|
{
|
//Use.CustomerRig = CConvert.ToInt(sender.Text);
|
}
|
else if (sender.Name == "AgentID")
|
{
|
//Use.AgentID = CConvert.ToInt(sender.Text);
|
}
|
else if (sender.Name == "AgentBranchID")
|
{
|
//Use.AgentBranchID = CConvert.ToInt(sender.Text);
|
}
|
else if (sender.Name == "PlanID")
|
{
|
//Use.PlanID = CConvert.ToInt(sender.Text);
|
}
|
else if (sender.Name == "RoomAssign")
|
{
|
//Use.RoomAssign = CConvert.ToInt(sender.Text);
|
}
|
else if (sender.Name == "ZipCode")
|
{
|
//Use.ZipCode = sender.Text;
|
}
|
else if (sender.Name == "Prefecture")
|
{
|
//Use.Prefecture = sender.Text;
|
}
|
else if (sender.Name == "Address2")
|
{
|
//Use.Address2 = sender.Text;
|
}
|
else if (sender.Name == "Address3")
|
{
|
//Use.Address3 = sender.Text;
|
}
|
else if (sender.Name == "Address4")
|
{
|
//Use.Address4 = sender.Text;
|
}
|
else if (sender.Name == "Mail")
|
{
|
//Use.Mail = sender.Text;
|
}
|
else if (sender.Name == "PassportNo")
|
{
|
//Use.PassportNo = sender.Text;
|
}
|
else if (sender.Name == "Sex")
|
{
|
//Use.Sex = CConvert.ToInt(sender.Text);
|
}
|
else if (sender.Name == "BirthDay")
|
{
|
//Use.BirthDay = sender.Text;
|
}
|
else if (sender.Name == "Anniversary")
|
{
|
//Use.Anniversary = sender.Text;
|
}
|
else if (sender.Name == "CorpZipCode")
|
{
|
//Use.CorpZipCode = sender.Text;
|
}
|
else if (sender.Name == "CorpPrefecture")
|
{
|
//Use.CorpPrefecture = sender.Text;
|
}
|
else if (sender.Name == "CorpAddress2")
|
{
|
//Use.CorpAddress2 = sender.Text;
|
}
|
else if (sender.Name == "CorpAddress3")
|
{
|
//Use.CorpAddress3 = sender.Text;
|
}
|
else if (sender.Name == "CorpAddress4")
|
{
|
//Use.CorpAddress4 = sender.Text;
|
}
|
else if (sender.Name == "CorpMemo")
|
{
|
//Use.CorpMemo = sender.Text;
|
}
|
else if (sender.Name == "Memo")
|
{
|
//Use.Memo = sender.Text;
|
}
|
else if (sender.Name == "Remark")
|
{
|
//Use.Remark = sender.Text;
|
}
|
|
//データ設定
|
if (!e.IsAll) { Data.SetDataField(sender); }
|
|
sender.Error = false;
|
sender.ErrorText = string.Empty;
|
//StateHasChanged();
|
return true;
|
}
|
catch(Exception ex)
|
{
|
EnvironmentSetting.Debug($"BusinessValid:{ex.Message}");
|
if (e.EnterPush)
|
{
|
sender.Error = true;
|
sender.ErrorText = ex.Message;
|
}
|
else
|
{
|
sender.Error = false;
|
sender.ErrorText = string.Empty;
|
}
|
return false;
|
}
|
finally
|
{
|
StateHasChanged();
|
}
|
}
|
|
/// <summary>
|
/// フォーカスを移動
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
/// <returns></returns>
|
private async Task<bool> BeforeAutoNextFocus(ViewModel.ValidField sender, ViewModel.ValidEventArgs e)
|
{
|
if (sender.Index == Data.Fields.Count - 1 && e.EnterPush)
|
{
|
await btnSave.FocusAsync(); //ここから非同期処理
|
return false;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// データ一覧取得
|
/// コード、名称
|
/// </summary>
|
/// <param name="type"></param>
|
/// <returns></returns>
|
private async Task<DataTable> GetListData(string type)
|
{
|
if (type == "ResvType") { return CConvert.GetEnumTypeList<EResvType>(); }
|
else if (type == "GroupType") { return CConvert.GetEnumTypeList<EGroupType>(); }
|
else if (type == "SalesLoginID") { return await MasterCore.GetSalesLoginList(); }
|
else { return null; }
|
}
|
|
/// <summary>
|
/// Endキー
|
/// </summary>
|
/// <param name="item"></param>
|
private async Task<bool> ShowListAction(ViewModel.ValidField item, ViewModel.ValidEventArgs e)
|
{
|
if (item.Name == "ResvType" || item.Name == "GroupType" || item.Name == "SalesLoginID")
|
{
|
if (item.Text.Length == 0) { return false; }
|
using DataTable data = await GetListData(item.Name);
|
if (data.Rows.Count == 0) { return false; }
|
var parameters = new DialogParameters { ["Data"] = data };
|
var dialog = DialogService.Show<SelectList>($"{item.Caption}検索", parameters);
|
var ret = await dialog.Result;
|
if (!ret.Cancelled)
|
{
|
var row = ret.Data as DataRow;
|
item.Text = row[0].ToString();
|
item.DispText = row[1].ToString();
|
e.Cancel = false;
|
StateHasChanged();
|
}
|
else
|
{
|
e.Cancel = true;
|
}
|
}
|
else if (item.Name == "CinDate" || item.Name == "CoutDate")
|
{
|
var parameters = new DialogParameters { ["Title"] = $"{item.Caption}選択", ["Data"] = CConvert.ToDateTime(item.Text) };
|
var dialog = DialogService.Show<SelectDate>(string.Empty, parameters);
|
var ret = await dialog.Result;
|
if (!ret.Cancelled)
|
{
|
EnvironmentSetting.Debug(ret.Data.ToString());
|
item.Text = ret.Data.ToString();
|
StateHasChanged();
|
}
|
}
|
else
|
{
|
//await DialogService.ShowMessageBox(
|
// "Warning",
|
// "未実装!",
|
// yesText: "OK", cancelText: "Cancel");
|
}
|
return true;
|
}
|
|
#endregion
|
|
#endregion
|
|
#region Private Method
|
#endregion
|
|
#region public Method
|
#endregion
|
|
//↓メモ
|
private class TabView
|
{
|
public String Name { get; set; }
|
public String Content { get; set; }
|
public Guid Id { get; set; }
|
}
|
|
private List<TabView> _tabs = new();
|
private int _index = 0;
|
private bool _updateIndex = false;
|
|
private void AddTabCallback()
|
{
|
_tabs.Add(new TabView { Name = "Dynamic Content", Content = "A new tab", Id = Guid.NewGuid() });
|
//the tab becomes available after it is rendered. Hence, we can't set the index here
|
_updateIndex = true;
|
}
|
|
private void CloseTabCallback(MudTabPanel panel)
|
{
|
var tabView = _tabs.FirstOrDefault(x => x.Id == (Guid)panel.Tag);
|
if(tabView != null)
|
{
|
_tabs.Remove(tabView);
|
}
|
}
|
|
private void Restore()
|
{
|
_tabs.Clear();
|
_tabs.Add(new TabView { Content = "First tab content", Name = "Tab A", Id = Guid.NewGuid() });
|
_tabs.Add(new TabView { Content = "Second tab content", Name = "Tab B", Id = Guid.NewGuid() });
|
_tabs.Add(new TabView { Content = "Third tab content", Name = "Tab C", Id = Guid.NewGuid() });
|
}
|
//↑メモ
|
|
private SaleInputRow selectedItem1 = null;
|
private List<string> editEvents = new();
|
private string searchString = "";
|
|
private int selRow = 0;
|
private int selectedRowNumber = -1;
|
private MudTable<UseRoomRow> mudUseRoomTable;
|
|
private void Leave()
|
{
|
//EnvironmentSetting.Debug($"Leave:{e.Type}");
|
}
|
|
private void Enter()
|
{
|
//EnvironmentSetting.Debug($"Enter:{e.Type}");
|
}
|
|
private void KeyDown()
|
{
|
//EnvironmentSetting.Debug($"KeyDown:{e.Key}");
|
}
|
|
private void KeyPress()
|
{
|
//EnvironmentSetting.Debug($"KeyPress:{e.Key}");
|
}
|
|
|
|
/// <summary>
|
/// Select前
|
/// </summary>
|
/// <param name="tableRowClickEventArgs"></param>
|
private void RowClickEvent(TableRowClickEventArgs<UseRoomRow> tableRowClickEventArgs)
|
{
|
EnvironmentSetting.Debug($"RowClickEvent:{tableRowClickEventArgs.Item.RoomID}");
|
//StateHasChanged();
|
}
|
|
private string SelectedRowClassFunc(UseRoomRow element, int rowNumber)
|
{
|
EnvironmentSetting.Debug($"SelectedRowClassFunc:{rowNumber}");
|
//if (selectedRowNumber == rowNumber)
|
//{
|
// selRow = rowNumber;
|
// selectedRowNumber = -1;
|
// return string.Empty;
|
//}
|
//else
|
if (mudUseRoomTable.SelectedItem != null && mudUseRoomTable.SelectedItem.Equals(element))
|
{
|
selRow = rowNumber;
|
selectedRowNumber = rowNumber;
|
return "selected";
|
}
|
else
|
{
|
return string.Empty;
|
}
|
}
|
|
private void ClearEventLog()
|
{
|
editEvents.Clear();
|
}
|
|
private void AddEditionEvent(string message)
|
{
|
editEvents.Add(message);
|
StateHasChanged();
|
}
|
|
private void BackupItem(object element)
|
{
|
//AddEditionEvent($"RowEditPreview event: made a backup of Element {((SaleInputRow)element).ItemName}");
|
}
|
|
private void ItemHasBeenCommitted(object element)
|
{
|
//AddEditionEvent($"RowEditCommit event: Changes to Element {((SaleInputRow)element).ItemName} committed");
|
}
|
|
private void ResetItemToOriginalValues(object element)
|
{
|
//AddEditionEvent($"RowEditCancel event: Editing of Element {((SaleInputRow)element).ItemName} cancelled");
|
}
|
|
private async void CallBackShowList(ViewModel.ValidField sender)
|
{
|
await ShowListAction(sender, new ViewModel.ValidEventArgs());
|
}
|
|
private void CreateFakeData()
|
{
|
List<SaleInputRow> list = new List<SaleInputRow>();
|
var slip = new SaleInputRow();
|
slip.Cells[(int)SaleInputRow.ColType.RoomType].Text = "SA";
|
slip.Cells[(int)SaleInputRow.ColType.RoomID].Text = "101";
|
slip.Cells[(int)SaleInputRow.ColType.ItemName].Text = "宿泊基本料金";
|
slip.Cells[(int)SaleInputRow.ColType.UnitPrice].Text = "10,000";
|
slip.Cells[(int)SaleInputRow.ColType.PersonCount].Text = "1";
|
slip.Cells[(int)SaleInputRow.ColType.Woman].Text = "1";
|
slip.Cells[(int)SaleInputRow.ColType.DiscountSummary].Text = "0";
|
slip.Cells[(int)SaleInputRow.ColType.TotalSummary].Text = "10,000";
|
slip.Cells[(int)SaleInputRow.ColType.SumDate].Text = CConvert.ToDateString(DateTime.Now);
|
slip.Cells[(int)SaleInputRow.ColType.Page].Text = "1";
|
slip.Cells[(int)SaleInputRow.ColType.SortKey].Text = "1";
|
slip.DataList.Add(new());
|
list.Add(slip);
|
|
//空白行
|
slip = new SaleInputRow();
|
list.Add(slip);
|
Data.SaleList = list;
|
}
|
|
private void RefreshSaleInput()
|
{
|
StateHasChanged();
|
}
|
|
private void RoomTypeChange()
|
{
|
saleInput.Refresh("RoomTypeChange");
|
}
|
|
private void TabChanged(int index)
|
{
|
|
}
|
}
|