feat: 在其他目录增加日志统计页面

新增日志统计页面入口,等待接入数据源和统计口径。
This commit is contained in:
renshen 2026-11-04 22:02:56 +08:00
parent f8e43d4e6e
commit 27d3d5a74f
3 changed files with 92 additions and 0 deletions

View File

@ -1130,6 +1130,10 @@ $navigation = [
],
],
],
[
'slug' => 'log-statistics',
'title' => '日志统计',
],
],
],
];

View File

@ -0,0 +1,74 @@
<div class="log-statistics-page" data-log-statistics>
<style>
.log-statistics-page {
display: grid;
min-height: 22rem;
place-items: center;
padding: 2rem;
}
.log-statistics-empty {
display: grid;
width: min(34rem, 100%);
justify-items: center;
gap: 0.75rem;
padding: 2rem;
border: 1px dashed var(--vip-border, #D8D2C7);
border-radius: 12px;
background: var(--vip-surface, #fff);
text-align: center;
}
.log-statistics-empty__icon {
display: grid;
width: 2.75rem;
height: 2.75rem;
place-items: center;
border-radius: 999px;
background: var(--vip-content-accent-soft, #F7F0DE);
color: var(--vip-content-accent-dark, #856632);
}
.log-statistics-empty h2 {
margin: 0;
color: var(--vip-content-ink, #171717);
font-size: 0.875rem;
font-weight: 600;
}
.log-statistics-empty p {
margin: 0;
color: var(--vip-content-muted, #595959);
font-size: 0.75rem;
line-height: 1.7;
}
.log-statistics-fields {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.4rem;
margin-top: 0.25rem;
}
.log-statistics-fields span {
padding: 0.3rem 0.55rem;
border: 1px solid var(--vip-border, #D8D2C7);
border-radius: 4px;
background: #fbfaf6;
color: var(--vip-content-muted, #595959);
font-size: 0.6875rem;
}
</style>
<section class="log-statistics-empty" aria-label="日志统计待接入">
<span class="material-icons-outlined log-statistics-empty__icon" aria-hidden="true">query_stats</span>
<h2>日志统计页面已创建</h2>
<p>页面入口和权限已就绪。数据来源、统计时间范围及汇总字段待确认后接入。</p>
<div class="log-statistics-fields" aria-label="待配置项">
<span>数据来源:待接入</span>
<span>统计口径:待配置</span>
<span>更新时间:待接入</span>
</div>
</section>
</div>

View File

@ -80,6 +80,20 @@ class PagesTest extends FeatureTestCase
->assertSeeText('查看退款待确认');
}
public function testLogStatisticsPageIsAvailableUnderOther(): void
{
$this->loginAs()
->get(route('business.pages.show', [
'section' => 'other',
'page' => 'log-statistics',
]))
->assertOk()
->assertSee('data-log-statistics', false)
->assertSeeText('日志统计页面已创建')
->assertSeeText('数据来源:待接入')
->assertSeeText('统计口径:待配置');
}
public function testInventoryReportProvidesAFilteredExportButton(): void
{
InventoryWarehouseNameMapping::query()->create([