# Design Document: UI Enhancements ## Overview 本设计对现有系统进行多项UI增强和优化: 1. 全局隐藏所有表格中的ID列,使界面更简洁 2. 工作记录列表增加结算状态筛选功能 3. 仪表盘年度汇总结算状态显示优化 4. 导出报表中未结算状态的视觉标注 ## Architecture ``` ┌─────────────────────────────────────────────────────────────┐ │ Frontend (React) │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ List Components (5个) │ │ │ │ - PersonList.jsx: 移除ID列 │ │ │ │ - ItemList.jsx: 移除ID列 │ │ │ │ - SupplierList.jsx: 移除ID列 │ │ │ │ - WorkRecordList.jsx: 移除ID列 + 增加结算筛选 │ │ │ │ - AdminList.jsx: 移除ID列 │ │ │ └─────────────────────────────────────────────────────┘ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Dashboard.jsx │ │ │ │ - 年度汇总: 合并结算状态列,调整位置 │ │ │ │ - 人员按供应商明细: 已结算状态黑色字体 │ │ │ └─────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Backend (Flask) │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ work_record_service.py │ │ │ │ - get_all(): 支持 is_settled 筛选参数 │ │ │ └─────────────────────────────────────────────────────┘ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ export_service.py │ │ │ │ - 年度汇总: 未结算列底色标注 │ │ │ │ - 明细表: 未结算行底色标注 │ │ │ └─────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## Components and Interfaces ### Frontend Component Changes #### 1. List Components - 隐藏ID列 需要修改的组件: - `PersonList.jsx` - 移除 ID 列定义 - `ItemList.jsx` - 移除 ID 列定义 - `SupplierList.jsx` - 移除 ID 列定义 - `WorkRecordList.jsx` - 移除 ID 列定义 - `AdminList.jsx` - 移除 ID 列定义 修改方式:从 `columns` 数组中删除 `{ title: 'ID', dataIndex: 'id', ... }` 对象。 #### 2. WorkRecordList - 增加结算状态筛选 在筛选区域增加结算状态下拉框: ```jsx // 新增状态 const [selectedSettlement, setSelectedSettlement] = useState(null) // 筛选选项 const settlementOptions = [ { label: '全部', value: null }, { label: '已结算', value: true }, { label: '未结算', value: false } ] // 在筛选区域增加