feat(admin): 整合财务模块导航为侧边栏子菜单与顶部联动Tab

- 侧边栏收敛:将散落在运营分组下的销售毛利、商品与成本、钱包管理、收支明细整合入「财务」二级子菜单,并支持智能展开与角色权限隔离
- 顶部导航联动:新增 FinanceSubNav 通用组件,在销售毛利、商品与成本中心、钱包管理、收支明细 4 个页面顶部统一提供一键切换 Tab
- 语义规范化:将原“财务”流水页面标题明确为“收支明细”,消除模块与页面的命名歧义
- 验证方式:npm run check 全量检查通过(Prettier、ESLint、tsc、单测 100% 通过),构建产物已同步至运行容器并验证路由与交互
This commit is contained in:
yml2213
2026-10-25 20:39:11 +08:00
parent eaffae4af0
commit dfc01db4ae
10 changed files with 203 additions and 75 deletions
@@ -21,6 +21,7 @@ import { useState } from 'react'
import { AdminRangePicker } from '@/components/admin/AdminDatePicker'
import PageHeader from '@/components/admin/PageHeader'
import FinanceSubNav from '@/components/admin/FinanceSubNav'
import dayjs from '@/lib/dayjs'
import {
fetchAdminSalesDailyFacts,
@@ -98,7 +99,12 @@ export default function AdminSalesProfitPage() {
function resetFilters() {
form.resetFields()
setPage(1)
setFilters({ dateFrom: defaultDateFrom, dateTo: defaultDateTo, provider: '', fulfillmentMode: '' })
setFilters({
dateFrom: defaultDateFrom,
dateTo: defaultDateTo,
provider: '',
fulfillmentMode: '',
})
}
async function rebuildFacts() {
@@ -243,6 +249,7 @@ export default function AdminSalesProfitPage() {
return (
<section className="page-stack">
<FinanceSubNav current="/admin/sales-profit" />
<PageHeader
title="销售毛利"
description="按订单项归集收入与成本;未归一商品单独成行,成本缺失时毛利不直接用于决策。"