mh_custom/wtmProject.Shared/Pages/Index_en.razor
2026-01-06 10:55:05 +08:00

277 lines
14 KiB
Plaintext

@using Newtonsoft.Json
@inherits BasePage
<style>
.indexSelect {
height: 44px;
}
.indexInputGroup {
width: 80%;
position: absolute;
top: 20%;
left: 50%;
transform: translate(-50%,-50%);
z-index: 1;
opacity: 0.9;
}
.rowIndex {
width: 80%;
position: absolute;
top: 55%;
left: 50%;
transform: translate(-50%,-50%);
}
</style>
<div class="index">
<div class="welcome container">
<div class="form-inline">
<div class="row">
</div>
</div>
<div class="form-inline">
<div>
<BootstrapInputGroup class="indexInputGroup">
<Select @bind-Value="@inputText" Items="@AllWTM_CUSTOMs" DisplayText="客户全称:" ShowLabel="true" ShowSearch="true" class="indexSelect" />
@*<BootstrapInput @bind-Value="@inputText" PlaceHolder="请输入 ..." DisplayText="客户全称:" ShowLabel="true" style="margin-right:10px;"></BootstrapInput>*@
<Button Color="Color.Primary" ButtonType="ButtonType.Submit" Icon="fa fa-search" Text="快捷查询" IsAsync="true" OnClick="() => CustomReportClick()" style="width:108px;height:44px;" />
</BootstrapInputGroup>
</div>
<div class="row">
<div class="col-12">
<div class="welcome-footer">
<div class="d-flex flex-wrap q-link">
<div style="margin-bottom:20px;">
<Button Color="Color.None" OnClick="@CustomCreateClick"><i class="fa fa-clipboard fa-0" style="color:#367FA9;"></i><p class="link-ctx" style="color:#367FA9;">新增客户档案</p></Button>
</div>
<div style="margin-bottom:20px;">
<TabLink Text="新增拜访计划" Url="/_Admin/WTM_VISIT_PLAN/Create"><i class="fa fa-bars fa-0" style="padding:6px 12px 0px 12px"></i><p style="padding:0px 12px 6px 12px">新增拜访计划</p></TabLink>
</div>
<div style="margin-bottom:20px;">
<Button Color="Color.None" OnClick="@BusinessCreateClick"><i class="fa fa-users fa-0" style="color:#367FA9;"></i><p class="link-ctx" style="color:#367FA9;">新增商机线索</p></Button>
</div>
<div style="margin-bottom:20px;">
<Button Color="Color.None" OnClick="@ContractCreateClick"><i class="fa fa-shield fa-0" style="color:#367FA9;"></i><p class="link-ctx" style="color:#367FA9;">新增合同</p></Button>
</div>
<div style="margin-bottom:20px;">
<Button Color="Color.None" OnClick="@BillingCreateClick"><i class="fa fa-text fa-0" style="color:#367FA9;"></i><p class="link-ctx" style="color:#367FA9;">新增开票</p></Button>
</div>
@* <div>
<TabLink Text="Customs" Url="/_Admin/WTM_CUSTOM/Create" Icon="fa fa-clipboard fa-0"><i class="fa fa-clipboard fa-0"></i><p class="link-ctx">Customs</p></TabLink>
</div>
<div>
<TabLink Text="VisitPlans" Url="/_Admin/WTM_VISIT_PLAN/Create" Icon="fa fa-bars fa-0"><i class="fa fa-bars fa-0"></i><p class="link-ctx">VisitPlans</p></TabLink>
</div>
<div>
<TabLink Text="Business" Url="/_Admin/WTM_BUSINESS/Create" Icon="fa fa-users fa-0"><i class="fa fa-users fa-0"></i><p class="link-ctx">Business</p></TabLink>
</div>
<div>
<TabLink Text="Contract" Url="/_Admin/WTM_CONTRACT/Create" Icon="fa fa-shield fa-0"><i class="fa fa-shield fa-0"></i><p class="link-ctx">Contract</p></TabLink>
</div>
<div>
<TabLink Text="Billing" Url="/_Admin/WTM_BILLING_LIST/Create" Icon="fa fa-text fa-0"><i class="fa fa-text fa-0"></i><p class="link-ctx">Billing</p></TabLink>
</div>*@
@*<div>
<a target="_self" href="/_Admin/FrameworkGroup" :underline="false">
<i class="fa fa-users fa-3"></i>
<p class="link-ctx">Groups</p>
</a>
</div>
<div>
<a target="_self" href="/_Admin/DataPrivilege" :underline="false">
<i class="fa fa-shield fa-3"></i>
<p class="link-ctx">DataPris</p>
</a>
</div>
<div>
<a target="_self" href="/_Admin/ActionLog" :underline="false">
<i class="fa fa-database fa-3"></i>
<p class="link-ctx">Logs</p>
</a>
</div>
<div>
<a target="_blank" href="https://wtmdoc.walkingtec.cn/" :underline="false">
<i class="fa fa-file-text fa-3"></i>
<p class="link-ctx">Doc</p>
</a>
</div>
<div>
<a target="_blank" href="/_codegen?ui=blazor" :underline="false">
<i class="fa fa-cogs fa-3"></i>
<p class="link-ctx">CodeGen</p>
</a>
</div>*@
</div>
</div>
</div>
</div>
</div>
</div>
@* <div class="intro container">
<div class="form-inline">
<div class="row">
<div class="form-group col-12 col-sm-6 col-md-4">
<div class="card border-success" style="height: 293px;">
<p class="d-none d-sm-block">
<i class="fa fa-cubes"></i>
</p>
<h3>Rich modules</h3>
<div>
Provides a variety of base classes, encapsulating most of the common background operations<br />
Provides common modules such as users, roles, user groups, menus, logs, permissions configuration, etc.<br />
</div>
</div>
</div>
<div class="form-group col-12 col-sm-6 col-md-4">
<div class="card border-primary" style="height: 293px;">
<p class="d-none d-sm-block">
<i class="fa fa-rocket"></i>
</p>
<h3>Performance</h3>
<div>
Support one-to-many, many-to-many association model recognition and code generation<br />
Support React, Vue, Blazor, LayUI and other front-end architectures<br />
Support sqlserver, sqlite, mysql, pgsql, oracle and other databases<br />
</div>
</div>
</div>
<div class="form-group col-12 col-sm-6 col-md-4">
<div class="card border-info" style="height: 293px;">
<p class="d-none d-sm-block">
<i class="fa fa-trophy"></i>
</p>
<h3>Easy to use</h3>
<div>
One-click generation of WTM project<br />
One-click generation of additions, deletions, corrections, import and export, batch operation codes<br />
Most of the controls of Layui, AntD, Element, Blazor are encapsulated, making it easier to write the front desk<br />
</div>
</div>
</div>
<div class="form-group col-12 col-sm-6 col-md-4">
<div class="card border-danger">
<p class="d-none d-sm-block">
<i class="fa fa-github"></i>
</p>
<h3>Free and open source</h3>
<div>
<div class="form-inline">
<div class="row">
<div class="col-12">
<div class="d-flex flex-wrap" style=" justify-content: space-around;">
<div class="badge-widget">
<i class="fa fa-star"></i>Star
<Badge style="display:block" Color="Color.Success"><span style="padding: 0 2px;">@model.stargazers_count</span></Badge>
</div>
<div class="badge-widget">
<i class="fa fa-code-fork"></i>Frok
<Badge style="display:block" Color="Color.Success"><span style="padding: 0 2px;">@model.forks_count</span></Badge>
</div>
<div class="badge-widget">
<i class="fa fa-eye"></i>Watch
<Badge style="display:block" Color="Color.Success"><span style="padding: 0 2px;">@model.subscribers_count</span></Badge>
</div>
<div class="badge-widget">
<i class="fa fa-calendar"></i>Issue
<Badge style="display:block" Color="Color.Success"><span style="padding: 0 2px;">@model.open_issues_count</span></Badge>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group col-12 col-sm-6 col-md-4">
<div class="card border-warning">
<p class="d-none d-sm-block">
<i class="fa fa-code"></i>
</p>
<h3>Demonstrations and examples</h3>
<div>Detailed documentation and online demonstration, ready to use out of the box</div>
</div>
</div>
<div class="form-group col-12 col-sm-6 col-md-4">
<div class="card border-secondary">
<p class="d-none d-sm-block">
<i class="fa fa-refresh"></i>
</p>
<h3>Continuous update</h3>
<div>MIT agreement, never close the source, keep updating, respond to questions and feedback in time</div>
</div>
</div>
</div>
</div>
</div>*@
</div>
@code {
[Parameter]
public Index.githubpoco model { get; set; }
[Inject]
private IJSRuntime jsRuntime { get; set; }
[Inject]
private NavigationManager NavigationManager { get; set; }
public string inputText { get; set; }
private List<SelectedItem> AllWTM_CUSTOMs = new List<SelectedItem>();
protected override async Task OnInitializedAsync()
{
AllWTM_CUSTOMs = await WtmBlazor.Api.CallItemsApi("/api/WTM_VISIT_PLAN/GetWTM_CUSTOMs", placeholder: WtmBlazor.Localizer["Sys.All"]);
await base.OnInitializedAsync();
}
private async Task CustomCreateClick()
{
if (await OpenDialog<CustomCreate>("新增客户档案") == DialogResult.Yes)
{
//CloseDialog();
var path = "/_Admin/WTM_CUSTOM";
NavigationManager.NavigateTo(path);
}
}
private async Task BusinessCreateClick()
{
if (await OpenDialog<BusinessCreate>("新增商机线索") == DialogResult.Yes)
{
//CloseDialog();
var path = "/_Admin/WTM_BUSINESS";
NavigationManager.NavigateTo(path);
}
}
private async Task ContractCreateClick()
{
if (await OpenDialog<ContractCreate>("新增合同") == DialogResult.Yes)
{
//CloseDialog();
var path = "/_Admin/WTM_CONTRACT";
NavigationManager.NavigateTo(path);
}
}
private async Task BillingCreateClick()
{
if (await OpenDialog<BillingCreate>("新增开票") == DialogResult.Yes)
{
//CloseDialog();
var path = "/_Admin/WTM_BILLING_LIST";
NavigationManager.NavigateTo(path);
}
}
private void CustomReportClick()
{
if (!string.IsNullOrEmpty(inputText))
{
var path = $"/CustomReport/Report/{inputText}";
NavigationManager.NavigateTo(path);
}
else
{
WtmBlazor.Toast.Error(WtmBlazor.Localizer["Sys.Error"], "无效的客户名称");
}
}
}