From 1a1c8e71fcd14858f595029f089b2d4a00202b32 Mon Sep 17 00:00:00 2001
From: ogi <Administrator@S-OGI-PC>
Date: Fri, 05 Dec 2025 09:24:16 +0900
Subject: [PATCH] プロジェクトファイルを追加。
---
HotelPms.Client.Blazor/Pages/UseDetail/Input.razor | 1183 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 1,183 insertions(+), 0 deletions(-)
diff --git a/HotelPms.Client.Blazor/Pages/UseDetail/Input.razor b/HotelPms.Client.Blazor/Pages/UseDetail/Input.razor
new file mode 100644
index 0000000..41cf408
--- /dev/null
+++ b/HotelPms.Client.Blazor/Pages/UseDetail/Input.razor
@@ -0,0 +1,1183 @@
+@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)
+ {
+
+ }
+}
--
Gitblit v1.10.0