Skip to content

Commit

Permalink
⚡ refactor: The message template does not have a title and requires a…
Browse files Browse the repository at this point in the history
… name to be configured
  • Loading branch information
wzh425 committed Jul 24, 2024
1 parent 6358a60 commit 478b421
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 94 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
<MCol>
<SAutoComplete Items="_templateItems" @bind-Value="_model.EntityId"
Label="@T("TemplateTemplate")"
ItemText="@(x=>string.IsNullOrEmpty(x.DisplayName)?x.Code:$"{x.DisplayName}({x.Code})")"
ItemText="@(x=>string.IsNullOrEmpty(x.TemplateId)?x.DisplayName:$"{x.DisplayName}({x.TemplateId})")"
ItemValue="x=>x.Id"
Dense
Outlined
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,102 +2,69 @@
<div @ref="Ref">
<SSimpleModal Value="@_visible" ValueChanged="HandleVisibleChanged" Title="@T(_entityId == default?"Permission.CreateMessageTemplate":"Permission.EditMessageTemplate")" HeaderClass="mr-4" BodyStyle="height: 617px;" SaveText="@T(_entityId == default?"Submit":"Save")" OnCancel="HandleCancel" OnSave="async() => await Throttle(HandleOkAsync)">
<ChildContent>
<MForm Model="_model" EnableValidation EnableI18n @ref="_form" Class="full-height">
<MRow Class="row-box">
<MCol>
<STextField @bind-Value="_model.Code" Required
Label="@T("DisplayName.MessageTemplateCode")">
</STextField>
</MCol>
</MRow>
<MRow Class="row-box">
<MCol>
<SSelect Value="@_model.ChannelType" Required
Items="@(GetEnumList<ChannelTypes>())"
Label="@T("DisplayName.ChannelType")"
ItemText="item => T(item.ToString())"
ItemValue="item => item"
Disabled
TItem="ChannelTypes"
TItemValue="ChannelTypes"
TValue="ChannelTypes"
ValueChanged="HandleSelectChannelTypeAsync">
</SSelect>
</MCol>
</MRow>
<MRow Class="row-box">
<MCol>
<SSelect @bind-Value="_model.ChannelId" Required
Items="@_channelItems"
Label="@T("DisplayName.Channel")"
ItemText="item => item.DisplayName"
ItemValue="item => item.Id">
</SSelect>
</MCol>
</MRow>
<MRow Class="row-box">
<MCol>
<SSelect @bind-Value="@_model.TemplateType" Required
Items="@(GetEnumList<WeixinWorkTemplateTypes>())"
Label="@T("TemplateType")"
ItemText="item => T(item.ToString())"
ItemValue="item => (int)item"
TItem="WeixinWorkTemplateTypes"
TItemValue="int"
TValue="int" OnChange="HandleSelectTemplateType">
</SSelect>
</MCol>
</MRow>
@if (_model.TemplateType == (int)WeixinWorkTemplateTypes.Text)
<MForm Model="_model" EnableValidation EnableI18n @ref="_form" Class="full-height form-content">
<STextField @bind-Value="_model.Code" Required
Label="@T("DisplayName.MessageTemplateCode")">
</STextField>
<SSelect Value="@_model.ChannelType" Required
Items="@(GetEnumList<ChannelTypes>())"
Label="@T("DisplayName.ChannelType")"
ItemText="item => T(item.ToString())"
ItemValue="item => item"
Disabled
TItem="ChannelTypes"
TItemValue="ChannelTypes"
TValue="ChannelTypes"
ValueChanged="HandleSelectChannelTypeAsync">
</SSelect>
<SSelect @bind-Value="_model.ChannelId" Required
Items="@_channelItems"
Label="@T("DisplayName.Channel")"
ItemText="item => item.DisplayName"
ItemValue="item => item.Id">
</SSelect>
<SSelect @bind-Value="@_model.TemplateType" Required
Items="@(GetEnumList<WeixinWorkTemplateTypes>())"
Label="@T("TemplateType")"
ItemText="item => T(item.ToString())"
ItemValue="item => (int)item"
TItem="WeixinWorkTemplateTypes"
TItemValue="int"
TValue="int" OnChange="HandleSelectTemplateType">
</SSelect>
@if (_model.TemplateType == (int)WeixinWorkTemplateTypes.TextCard)
{
<STextField @bind-Value="_model.Title" Required
Label="@T("DisplayName.MessageTemplateTitle")">
</STextField>
}
else
{
<MRow Class="row-box">
<MCol>
<STextarea @bind-Value="_model.Content" Required
Label="@T("DisplayName.MessageTemplateContent")">
</STextarea>
</MCol>
</MRow>
<STextField @bind-Value="_model.DisplayName" Required
Label="@T("DisplayName.MessageTemplateDisplayName")">
</STextField>
}
<STextarea @bind-Value="_model.Content" Required
Label="@T("DisplayName.MessageTemplateContent")">
</STextarea>
@if (_model.TemplateType == (int)WeixinWorkTemplateTypes.TextCard)
{
<MRow Class="row-box">
<MCol>
<STextField @bind-Value="_model.Title" Required
Label="@T("DisplayName.MessageTemplateTitle")">
</STextField>
</MCol>
</MRow>
<MRow Class="row-box">
<MCol>
<STextarea @bind-Value="_model.Content" Required
Label="@T("DisplayName.MessageTemplateContent")">
</STextarea>
</MCol>
</MRow>
<MRow Class="row-box">
<MCol>
<STextField @bind-Value="_model.JumpUrl" Required
Label="@T("DisplayName.MessageTemplateJumpUrl")">
</STextField>
</MCol>
</MRow>
<STextField @bind-Value="_model.JumpUrl" Required
Label="@T("DisplayName.MessageTemplateJumpUrl")">
</STextField>
}
<MRow Class="row-box">
<MCol>
<div class="d-flex align-center justify-start">
<span class="body2 regular--text mr-2">@T("Description.MessageTemplate.PerDayLimit.Tips") </span>
<div style="width:80px;">
<MTextField @bind-Value="_model.PerDayLimit"
Type="number"
Dense
Outlined
HideDetails="@("auto")">
</MTextField>
</div>
<span class="body2 regular--text ml-2">@T("Unit.Bar") </span>
</div>
</MCol>
</MRow>
<div class="d-flex align-center justify-start">
<span class="body2 regular--text mr-2">@T("Description.MessageTemplate.PerDayLimit.Tips") </span>
<div style="width:80px;">
<MTextField @bind-Value="_model.PerDayLimit"
Type="number"
Dense
Outlined
HideDetails="@("auto")">
</MTextField>
</div>
<span class="body2 regular--text ml-2">@T("Unit.Bar") </span>
</div>
</MForm>
</ChildContent>
</SSimpleModal>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,11 @@ private async Task HandleOkAsync()
{
Check.NotNull(_form, "form not found");

_model.DisplayName = _model.Title;
if (_model.DisplayName.IsNullOrEmpty())
{
_model.DisplayName = _model.Title;
}

if (!_form.Validate())
{
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ private void LoadHeaders()
{
new() { Text = T($"{prefix}{nameof(MessageTemplateDto.Code)}"), Value = nameof(MessageTemplateDto.Code), Sortable = false },
new() { Text = T($"{prefix}{nameof(MessageTemplateDto.TemplateType)}"), Value = nameof(MessageTemplateDto.TemplateType)},
new() { Text = T($"{prefix}{nameof(MessageTemplateDto.Title)}"), Value = nameof(MessageTemplateDto.Title), Sortable = false },
new() { Text = T($"{prefix}{nameof(MessageTemplateDto.DisplayName)}"), Value = nameof(MessageTemplateDto.DisplayName), Sortable = false },
new() { Text = T($"{prefix}ChannelDisplayName"), Value = "ChannelDisplayName", Sortable = false },
new() { Text = T("Modifier"), Value = nameof(MessageTemplateDto.ModifierName), Sortable = false },
new() { Text = T("ModificationTime"), Value = nameof(MessageTemplateDto.ModificationTime), Sortable = true },
Expand Down

0 comments on commit 478b421

Please sign in to comment.