99 lines
3.3 KiB
Plaintext
99 lines
3.3 KiB
Plaintext
@*
|
||
//------------------------------------------------------------------------------
|
||
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
|
||
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
|
||
// 源代码使用协议遵循本仓库的开源协议及附加协议
|
||
// Gitee源代码仓库:https://gitee.com/diego2098/ThingsGateway
|
||
// Github源代码仓库:https://github.com/kimdiego2098/ThingsGateway
|
||
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
|
||
// QQ群:605534569
|
||
//------------------------------------------------------------------------------
|
||
*@
|
||
|
||
@page "/admin/spa"
|
||
@using System.Linq.Expressions;
|
||
@using BlazorComponent;
|
||
@using Masa.Blazor.Presets;
|
||
@using Microsoft.AspNetCore.Authorization;
|
||
@using ThingsGateway.Admin.Application;
|
||
|
||
@namespace ThingsGateway.Admin.Blazor
|
||
@attribute [Authorize]
|
||
@inherits BaseComponentBase
|
||
@inject UserResoures UserResoures
|
||
@layout MainLayout
|
||
<AppDataTable @ref="_datatable" TItem="SysResource" SearchItem="SpaPageInput"
|
||
AddItem="SpaAddInput" EditItem="SpaEditInput"
|
||
SearchModel="@search"
|
||
QueryCallAsync="QueryCallAsync" AddCallAsync="AddCallAsync"
|
||
EditCallAsync="EditCallAsync" DeleteCallAsync="DeleteCallAsync"
|
||
IsShowQueryButton IsShowSearchKey IsShowDetailButton
|
||
IsShowAddButton=@UserResoures.IsHasButtonWithRole("sysspaadd")
|
||
IsShowDeleteButton=@UserResoures.IsHasButtonWithRole("sysspadelete")
|
||
IsShowEditButton=@UserResoures.IsHasButtonWithRole("sysspaedit")>
|
||
|
||
<AddTemplate>
|
||
@GetRenderFragment(context)
|
||
</AddTemplate>
|
||
|
||
<EditTemplate>
|
||
@GetRenderFragment(context)
|
||
</EditTemplate>
|
||
|
||
|
||
<ItemColTemplate>
|
||
@switch (context.Header.Value)
|
||
{
|
||
case nameof(context.Item.Icon):
|
||
<MIcon>
|
||
@context.Value
|
||
</MIcon>
|
||
break;
|
||
default:
|
||
@if (context.Header.CellClass?.Contains("text-truncate") == true)
|
||
{
|
||
<span title=@context.Value>
|
||
@context.Value
|
||
</span>
|
||
}
|
||
else
|
||
{
|
||
@context.Value
|
||
}
|
||
break;
|
||
}
|
||
|
||
</ItemColTemplate>
|
||
</AppDataTable>
|
||
|
||
|
||
|
||
|
||
@code {
|
||
RenderFragment GetRenderFragment(SpaAddInput context)
|
||
{
|
||
RenderFragment renderFragment =
|
||
@<div>
|
||
|
||
<MSubheader Class="mt-4 font-weight-black"> @(context.Description(x => x.Title)) </MSubheader>
|
||
<MTextField Dense Outlined HideDetails="@("auto")" @bind-Value=@context.Title />
|
||
|
||
<MSubheader Class="mt-4 font-weight-black"> @(context.Description(x => x.Component)) </MSubheader>
|
||
<MTextField Dense Outlined HideDetails="@("auto")" @bind-Value=@context.Component />
|
||
|
||
|
||
<MSubheader Class="mt-4 font-weight-black"> @(context.Description(x => x.Icon)) </MSubheader>
|
||
<MTextField Dense Outlined HideDetails="@("auto")" @bind-Value=@context.Icon />
|
||
|
||
<MSubheader Class="mt-4 mb-5 font-weight-black">@(context.Description(x => x.SortCode)) </MSubheader>
|
||
<MSlider @bind-Value=@context.SortCode Class="mb-5" TValue=int ThumbLabel="@("always")" Dense />
|
||
|
||
|
||
|
||
</div>
|
||
|
||
;
|
||
return renderFragment;
|
||
}
|
||
|
||
} |