Files

4.3 KiB
Raw Permalink Blame History

🧭 工时统计系统 Web UI 设计文档

一、页面流转逻辑Page Flow

graph TD
    A[登录页 /login] --> B[首页 /dashboard]
    B --> C[工时录入 /timesheet]
    B --> D[工时查询 /records]
    B --> E[统计报表 /reports]
    B --> F[个人设置 /settings]

    C --> B
    D --> G[记录详情 /records/:id]
    G --> D
    E --> H[导出报表 /reports/export]
    H --> E
    F --> B

页面说明

  • 登录页:用户输入账号密码后跳转到首页。
  • 首页:展示个人本周工时概览和快捷入口。
  • 工时录入页:填写日期、项目、任务内容和时长。
  • 工时查询页:查看历史工时,可筛选、分页、导出。
  • 统计报表页:按项目、成员或时间段汇总展示。
  • 个人设置页:修改密码、偏好、通知等。

二、组件层级结构Component Hierarchy

1. 顶层布局

<AppLayout>
 ├── <Header />              # 顶部导航栏(系统名 + 用户信息 + 退出按钮)
 ├── <Sidebar />             # 左侧菜单栏(首页/录入/查询/报表/设置)
 ├── <MainContent />         # 主内容区(根据路由动态切换)
 └── <Footer />              # 底部版本信息

2. 页面结构与组件拆分

首页(/dashboard

<DashboardPage>
 ├── <SummaryCardGroup>
 │     ├── <Card title="本周总工时" value="36h" icon="clock" />
 │     ├── <Card title="项目数量" value="5" icon="folder" />
 │     ├── <Card title="未提交天数" value="1" icon="alert" />
 │
 ├── <RecentActivitiesTable />     # 最近录入的工时记录(简表)
 └── <QuickActionsPanel />         # 快捷入口:录入工时 / 查看报表

工时录入页(/timesheet

<TimesheetPage>
 ├── <DatePicker label="日期" />
 ├── <SelectProject label="项目" />
 ├── <InputText label="任务内容" multiline />
 ├── <InputNumber label="时长 (小时)" />
 ├── <TagSelector label="任务类型" />
 ├── <ButtonGroup>
 │     ├── <Button type="primary">保存</Button>
 │     ├── <Button>重置</Button>
 │     └── <Button variant="ghost">返回</Button>
 └── <Toast />    # 提交结果提示

工时查询页(/records

<RecordsPage>
 ├── <FilterBar>
 │     ├── <DateRangePicker />
 │     ├── <SelectProject />
 │     ├── <SelectMember />
 │     └── <Button type="primary">查询</Button>
 │
 ├── <DataTable>
 │     ├── columns: 日期 | 项目 | 任务内容 | 工时 | 提交人 | 状态
 │     ├── 支持排序 / 分页 / 导出 CSV
 │     ├── 行点击 => <RecordDetailModal />
 │
 └── <Pagination />

统计报表页(/reports

<ReportsPage>
 ├── <ReportFilterBar>
 │     ├── <SelectReportType />  # 按项目/成员/时间维度
 │     ├── <DateRangePicker />
 │     ├── <Button type="primary">生成</Button>
 │
 ├── <ChartArea>
 │     ├── <BarChart />          # 工时分布图
 │     ├── <PieChart />          # 项目占比图
 │
 └── <ExportPanel>
       ├── <Button>导出PDF</Button>
       ├── <Button>导出Excel</Button>

个人设置页(/settings

<SettingsPage>
 ├── <ProfileSection>
 │     ├── <AvatarUploader />
 │     ├── <InputText label="姓名" />
 │     ├── <InputEmail label="邮箱" />
 │
 ├── <PreferenceSection>
 │     ├── <Toggle label="邮件提醒" />
 │     ├── <SelectTheme />
 │
 ├── <SecuritySection>
 │     ├── <ChangePasswordForm />
 │
 └── <Button type="primary">保存更改</Button>

三、设计重点UI/UX建议

  • 视觉风格:扁平化 + 浅色主题,使用蓝灰调主色,次色调橙色。
  • 数据呈现尽量图表化展示Bar、Pie、Line增强可读性。
  • 交互反馈:录入与报表生成提供 Toast、Modal、Loading 状态。
  • 响应式布局主内容区栅格化2/3主视图 + 1/3侧卡片
  • 可访问性:表单控件具备清晰标签与焦点状态。