生产管理系统前端 - 瓦力0.71原型图更新

This commit is contained in:
2025-10-28 15:26:08 +08:00
parent 26213aaa76
commit b907cc4299
68 changed files with 14479 additions and 285 deletions

View File

@@ -0,0 +1,243 @@
# 主题重构总结
## 已完成的工作
### 1. globals.css 重构 ✅
#### 移除内容
- 移除了所有 `.dark .bg-gray-*` 非状态色定义
- 移除了所有 `.dark .text-gray-*` 非状态色定义
- 移除了所有 `.dark .border-gray-*` 非状态色定义
#### 保留内容
- ✅ 绿色状态(成功/激活bg-green-50/100, text-green-600/700/800, border-green-200/300
- ✅ 红色状态(错误/危险bg-red-50/100, text-red-500/600/700/800, border-red-200
- ✅ 黄色状态警告bg-yellow-50/100, text-yellow-500/600/700/800, border-yellow-200
- ✅ 橙色状态警报bg-orange-50/100, text-orange-600/700/800, border-orange-200
- ✅ 蓝色状态信息bg-blue-50/100/950\/30, text-blue-300/400/600/700/800/900, border-blue-200/900
- ✅ 紫色状态bg-purple-50/100, text-purple-600/700/800/900, border-purple-200
- ✅ 粉色状态bg-pink-50/100, text-pink-700/800
- ✅ 青色状态bg-cyan-50, text-cyan-800
#### 组件样式更新
```css
/* field-value 组件 - 使用标准变量 */
.field-value {
@apply mt-2 text-base text-foreground px-3 py-2 bg-muted rounded-md min-h-[2.5rem] flex items-center transition-colors;
}
```
### 2. 业务代码重构
#### 已修改文件
##### /components/config/PersonalInfo.tsx ✅
```tsx
// 企业名称输入框 - 禁用状态背景
- className="bg-gray-50 dark:bg-gray-800"
+ className="bg-muted"
// 部门输入框 - 禁用状态背景
- className="bg-gray-50 dark:bg-gray-800"
+ className="bg-muted"
```
##### /components/Navigation.tsx ✅
```tsx
// 消息列表项悬停效果
- className="hover:bg-gray-50"
+ className="hover:bg-accent"
```
## 需要继续修改的文件
### 高优先级文件(核心功能)
#### 1. AI 模块文件16个文件106+处修改点)
需要区分:
- **状态色(保留)**:表示"离线"、"已忽略"、"禁用"、"建议"等状态的 `bg-gray-100 text-gray-700/800`
- **信息框(修改)**`bg-gray-50``bg-muted`
- **悬停(修改)**`hover:bg-gray-50``hover:bg-accent`
- **代码块(可选)**`code`标签的 `bg-gray-100` 可改为 `bg-muted`
关键文件:
- `/components/ai/AIAlertManagement.tsx` - 19处
- `/components/ai/AIDataCenter.tsx` - 18处
- `/components/ai/AIDecisionGeneration.tsx` - 12处
- `/components/ai/AIAuditLog.tsx` - 11处
- `/components/ai/AIDecisionLog.tsx` - 9处
- `/components/ai/AIDecisionSimulation.tsx` - 8处
- `/components/ai/AIDecisionDetail.tsx` - 7处
- `/components/ai/AIDecisionSupport.tsx` - 7处
- `/components/ai/AIDeviceControl.tsx` - 6处
- 其他AI组件
#### 2. 资产管理模块
搜索并修改asset目录下的文件
#### 3. 地块管理模块
搜索并修改field目录下的文件
#### 4. 灌溉模块
搜索并修改irrigation目录下的文件
#### 5. 农机管理模块
搜索并修改machinery目录下的文件
#### 6. 农事操作模块
搜索并修改operation目录下的文件
#### 7. 配置管理模块
搜索并修改config目录下的文件
### 修改模式示例
#### 模式1信息展示框
```tsx
// 查找
<div className="p-3 bg-gray-50 rounded">
<div className="p-4 bg-gray-50 rounded-lg">
<Card className="p-4 bg-gray-50">
// 替换为
<div className="p-3 bg-muted rounded">
<div className="p-4 bg-muted rounded-lg">
<Card className="p-4 bg-muted">
```
#### 模式2悬停效果
```tsx
// 查找
hover:bg-gray-50
hover:bg-gray-100
// 替换为(仅非状态色场景)
hover:bg-accent
```
#### 模式3代码块可选修改
```tsx
// 查找
<code className="text-xs bg-gray-100 px-2 py-1 rounded">
// 替换为
<code className="text-xs bg-muted px-2 py-1 rounded">
```
#### 模式4状态Badge不修改
```tsx
// 保持不变 - 这些是状态色
bg-gray-100 text-gray-800 // 用于"离线"、"已忽略"等中性状态
bg-gray-100 text-gray-700 // 用于"禁用"、"建议"等状态
```
## 修改策略
### 方案 A手动逐文件修改推荐
优点:
- 可以准确判断每个场景
- 避免误改状态色
- 保证代码质量
步骤:
1. 从核心功能文件开始config, Navigation等
2. 逐个模块处理AI → 资产 → 地块 等)
3. 每个文件修改后测试主题切换效果
### 方案 B搜索替换 + 人工review
使用正则表达式批量替换然后review
```bash
# 信息框背景(排除状态描述)
查找: className="([^"]*?)bg-gray-50([^"]*?)"
需人工判断是否为状态色
# 悬停效果
查找: hover:bg-gray-(50|100)
替换: hover:bg-accent
# 代码块背景
查找: <code[^>]*bg-gray-100
替换: bg-muted
```
## 验证清单
修改完成后需要验证:
### 功能验证
- [ ] 亮色主题显示正常
- [ ] 暗色主题显示正常
- [ ] 主题切换流畅无闪烁
- [ ] 所有状态色正确显示(绿/红/黄/橙/蓝等)
### 视觉验证
- [ ] 信息展示框背景适配主题
- [ ] 禁用输入框背景适配主题
- [ ] 悬停效果明显且美观
- [ ] 文本对比度符合可访问性要求
- [ ] 卡片层次感清晰
### 模块验证
- [ ] 个人中心模块
- [ ] 水肥机管理
- [ ] 智慧灌溉
- [ ] AI决策系统
- [ ] 资产管理
- [ ] 地块管理
- [ ] 农机管理
- [ ] 农事操作
## 注意事项
### 1. 保留状态色
以下className包含状态语义**不要修改**
```tsx
// 表示"离线"状态
getStatusColor(status) {
case '离线': return 'bg-gray-100 text-gray-700';
}
// 表示"已忽略"状态
status === '已忽略' ? 'bg-gray-100 text-gray-800' : ...
// 表示"禁用"状态
status === '禁用' ? 'bg-gray-100 text-gray-700' : ...
// 表示"建议"级别
level === '建议' ? 'bg-gray-100 text-gray-700' : ...
```
### 2. 代码块可选修改
`<code>` 标签的 `bg-gray-100` 可以改为 `bg-muted`,但不是必需的。
### 3. 测试充分性
每个模块修改后都应该:
1. 在亮色模式下检查
2. 在暗色模式下检查
3. 切换主题看是否流畅
### 4. 渐进式修改
建议按模块逐步修改,而不是一次性修改所有文件,这样便于定位问题。
## 预期效果
重构完成后:
1. ✅ 所有背景、文本、边框色都使用shadcn主题变量
2. ✅ 主题切换时所有元素都能正确适配
3. ✅ 状态色在两种主题下都清晰可辨
4. ✅ 保持绿色农业主题的视觉风格
5. ✅ 代码更简洁,维护性更好
## 下一步行动
1. 根据修改优先级列表,逐个处理各模块文件
2. 每修改完一个模块,提交一次代码
3. 全部完成后进行全面测试
4. 更新系统文档
## 相关文档
- `/THEME_REFACTOR_GUIDE.md` - 详细的修改指南和示例
- `/styles/globals.css` - 主题变量定义
- `/components/ThemeProvider.tsx` - 主题管理组件