生产管理系统前端 - 瓦力0.71原型图更新
This commit is contained in:
264
src/OPERATION_CALENDAR_DARK_MODE_FIX.md
Normal file
264
src/OPERATION_CALENDAR_DARK_MODE_FIX.md
Normal file
@@ -0,0 +1,264 @@
|
||||
# 农事日历-可视化视图 Dark 模式适配修复 ✅
|
||||
|
||||
## 🐛 问题描述
|
||||
|
||||
农事操作管理系统 - 农事日历 - 可视化视图没有适配 dark 模式,在暗黑模式下显示异常。
|
||||
|
||||
**影响范围:**
|
||||
- ✅ 可视化视图(日历视图)
|
||||
- ✅ 甘特图视图
|
||||
- ✅ 进度状态可视化视图
|
||||
|
||||
---
|
||||
|
||||
## 🔧 修复内容
|
||||
|
||||
### 修复文件
|
||||
`/components/operation/OperationCalendar.tsx`
|
||||
|
||||
### 修复点(共9处)
|
||||
|
||||
#### 1. 日历星期标题背景
|
||||
**位置:** 行 850
|
||||
|
||||
```tsx
|
||||
// ❌ 修复前
|
||||
<div className="grid grid-cols-7 bg-gray-100">
|
||||
|
||||
// ✅ 修复后
|
||||
<div className="grid grid-cols-7 bg-muted">
|
||||
```
|
||||
|
||||
#### 2. 日历日期格子背景(⭐ 主要问题)
|
||||
**位置:** 行 872
|
||||
|
||||
```tsx
|
||||
// ❌ 修复前
|
||||
className={`min-h-[120px] p-2 border-r border-b last:border-r-0 ${
|
||||
!isCurrentMonth ? 'bg-gray-50' : 'bg-white'
|
||||
} ${isToday ? 'ring-2 ring-green-500' : ''}`}
|
||||
|
||||
// ✅ 修复后
|
||||
className={`min-h-[120px] p-2 border-r border-b last:border-r-0 ${
|
||||
!isCurrentMonth ? 'bg-muted' : 'bg-card'
|
||||
} ${isToday ? 'ring-2 ring-green-500' : ''}`}
|
||||
```
|
||||
|
||||
#### 3. 可视化视图说明卡片
|
||||
**位置:** 行 910-913
|
||||
|
||||
```tsx
|
||||
// ❌ 修复前
|
||||
<Card className="p-4 bg-blue-50 border-blue-200">
|
||||
<div className="flex items-start gap-2">
|
||||
<Zap className="w-5 h-5 text-blue-600 flex-shrink-0 mt-0.5" />
|
||||
<div className="text-sm text-blue-900">
|
||||
|
||||
// ✅ 修复后
|
||||
<Card className="p-4">
|
||||
<div className="flex items-start gap-2">
|
||||
<Zap className="w-5 h-5 text-blue-600 flex-shrink-0 mt-0.5" />
|
||||
<div className="text-sm">
|
||||
```
|
||||
|
||||
#### 4. 甘特图说明卡片
|
||||
**位置:** 行 1025-1028
|
||||
|
||||
```tsx
|
||||
// ❌ 修复前
|
||||
<Card className="p-4 bg-green-50 border-green-200">
|
||||
<div className="flex items-start gap-2">
|
||||
<BarChart3 className="w-5 h-5 text-green-600 flex-shrink-0 mt-0.5" />
|
||||
<div className="text-sm text-green-900">
|
||||
|
||||
// ✅ 修复后
|
||||
<Card className="p-4">
|
||||
<div className="flex items-start gap-2">
|
||||
<BarChart3 className="w-5 h-5 text-green-600 flex-shrink-0 mt-0.5" />
|
||||
<div className="text-sm">
|
||||
```
|
||||
|
||||
#### 5. 地块图标背景
|
||||
**位置:** 行 1058
|
||||
|
||||
```tsx
|
||||
// ❌ 修复前
|
||||
<div className="p-3 bg-green-100 rounded-lg">
|
||||
|
||||
// ✅ 修复后
|
||||
<div className="p-3 bg-green-50 rounded-lg">
|
||||
```
|
||||
|
||||
**说明:** 使用状态色 `bg-green-50`,在globals.css中已定义dark模式适配
|
||||
|
||||
#### 6. 地块整体进度条背景
|
||||
**位置:** 行 1091
|
||||
|
||||
```tsx
|
||||
// ❌ 修复前
|
||||
<div className="h-3 bg-gray-200 rounded-full overflow-hidden flex">
|
||||
|
||||
// ✅ 修复后
|
||||
<div className="h-3 bg-muted rounded-full overflow-hidden flex">
|
||||
```
|
||||
|
||||
#### 7. 任务完成度进度条背景
|
||||
**位置:** 行 1144
|
||||
|
||||
```tsx
|
||||
// ❌ 修复前
|
||||
<div className="h-2 bg-gray-200 rounded-full overflow-hidden">
|
||||
|
||||
// ✅ 修复后
|
||||
<div className="h-2 bg-muted rounded-full overflow-hidden">
|
||||
```
|
||||
|
||||
#### 8. 进度状态说明卡片
|
||||
**位置:** 行 1169-1172
|
||||
|
||||
```tsx
|
||||
// ❌ 修复前
|
||||
<Card className="p-4 bg-purple-50 border-purple-200">
|
||||
<div className="flex items-start gap-2">
|
||||
<TrendingUp className="w-5 h-5 text-purple-600 flex-shrink-0 mt-0.5" />
|
||||
<div className="text-sm text-purple-900">
|
||||
|
||||
// ✅ 修复后
|
||||
<Card className="p-4">
|
||||
<div className="flex items-start gap-2">
|
||||
<TrendingUp className="w-5 h-5 text-purple-600 flex-shrink-0 mt-0.5" />
|
||||
<div className="text-sm">
|
||||
```
|
||||
|
||||
#### 9. 筛选结果提示Badge
|
||||
**位置:** 行 773
|
||||
|
||||
```tsx
|
||||
// ❌ 修复前
|
||||
<Badge variant="outline" className="bg-green-50">
|
||||
当前筛选: {filteredTasks.length} 个任务
|
||||
</Badge>
|
||||
|
||||
// ✅ 修复后
|
||||
<Badge variant="outline">
|
||||
当前筛选: {filteredTasks.length} 个任务
|
||||
</Badge>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎨 修复效果对比
|
||||
|
||||
### 明亮模式
|
||||
- 日历背景:白色(#ffffff)
|
||||
- 星期标题:浅灰色(#ececf0)
|
||||
- 非当月日期:浅灰色(#ececf0)
|
||||
- 进度条背景:浅灰色(#ececf0)
|
||||
- 说明卡片:白色卡片背景
|
||||
|
||||
### 暗黑模式(✅ 已修复)
|
||||
- 日历背景:深色卡片背景(#1a1f26)
|
||||
- 星期标题:深灰色(#374151)
|
||||
- 非当月日期:深灰色(#374151)
|
||||
- 进度条背景:深灰色(#374151)
|
||||
- 说明卡片:深色卡片背景(#1a1f26)
|
||||
|
||||
---
|
||||
|
||||
## 🧪 测试清单
|
||||
|
||||
### 测试场景1:可视化视图(日历)
|
||||
- [ ] 打开农事操作管理系统
|
||||
- [ ] 进入"农事日历" - "可视化视图"标签页
|
||||
- [ ] 切换到 dark 模式
|
||||
- [ ] 验证以下元素:
|
||||
- [ ] ✅ 星期标题背景适配dark模式
|
||||
- [ ] ✅ 日历日期格子背景适配dark模式
|
||||
- [ ] ✅ 非当月日期显示为深灰色
|
||||
- [ ] ✅ 当月日期显示为深色卡片背景
|
||||
- [ ] ✅ 今日日期有绿色边框高亮
|
||||
- [ ] ✅ 任务卡片颜色正常显示(绿/黄/蓝/紫/红/橙)
|
||||
- [ ] ✅ 说明卡片背景适配dark模式
|
||||
- [ ] ✅ 筛选结果Badge背景适配dark模式
|
||||
|
||||
### 测试场景2:甘特图视图
|
||||
- [ ] 切换到"甘特图"标签页
|
||||
- [ ] 在 dark 模式下验证:
|
||||
- [ ] ✅ 甘特图说明卡片背景适配
|
||||
- [ ] ✅ 任务条颜色清晰可见
|
||||
- [ ] ✅ 文字清晰可读
|
||||
|
||||
### 测试场景3:进度状态可视化
|
||||
- [ ] 切换到"进度状态可视化"标签页
|
||||
- [ ] 在 dark 模式下验证:
|
||||
- [ ] ✅ 地块卡片背景适配
|
||||
- [ ] ✅ 地块图标背景使用状态色
|
||||
- [ ] ✅ 整体进度条背景适配
|
||||
- [ ] ✅ 任务完成度进度条背景适配
|
||||
- [ ] ✅ 任务卡片边框颜色正常
|
||||
- [ ] ✅ 进度说明卡片背景适配
|
||||
|
||||
### 测试场景4:交互功能
|
||||
- [ ] 拖拽任务调整日期
|
||||
- [ ] 切换月份(上一月/下一月/今天)
|
||||
- [ ] 筛选任务(地块/作物/负责人/类型/状态)
|
||||
- [ ] 验证所有交互在dark模式下正常工作
|
||||
|
||||
---
|
||||
|
||||
## 📊 保留的状态色
|
||||
|
||||
以下状态色已在 `globals.css` 中定义dark模式适配,无需修改:
|
||||
|
||||
### 任务类型颜色(保留)
|
||||
- 🟢 播种:`#22c55e`(绿色)
|
||||
- 🟡 施肥:`#eab308`(黄色)
|
||||
- 🔵 灌溉:`#3b82f6`(蓝色)
|
||||
- 🟣 除草:`#a855f7`(紫色)
|
||||
- 🔴 病虫害防治:`#ef4444`(红色)
|
||||
- 🟠 采收:`#f97316`(橙色)
|
||||
|
||||
### 任务状态颜色(保留)
|
||||
- 🔵 待开始:`bg-blue-500`(蓝色进度条)
|
||||
- 🟢 进行中:`bg-green-500`(绿色进度条)
|
||||
- ⚫ 已完成:`bg-gray-400`(灰色进度条)
|
||||
|
||||
### 状态Badge颜色(已适配)
|
||||
- `bg-blue-100 text-blue-800`(待开始)→ dark模式自动转换
|
||||
- `bg-green-100 text-green-800`(进行中)→ dark模式自动转换
|
||||
- `bg-gray-100 text-gray-800`(已完成)→ dark模式自动转换
|
||||
|
||||
这些颜色在dark模式下会通过 `globals.css` 中的 `.dark` 规则自动调整透明度和亮度,无需手动修改。
|
||||
|
||||
---
|
||||
|
||||
## 💡 技术说明
|
||||
|
||||
### 主题变量使用
|
||||
本次修复统一使用标准主题变量:
|
||||
- `bg-muted` - 次要背景色(明亮模式:#ececf0,暗黑模式:#374151)
|
||||
- `bg-card` - 卡片背景色(明亮模式:#ffffff,暗黑模式:#1a1f26)
|
||||
- `text-foreground` - 前景文字色(自动适配)
|
||||
|
||||
### 状态色处理
|
||||
对于表示状态的颜色(绿/蓝/红/黄/橙/紫),保留使用 `bg-*-50`, `bg-*-100` 等类,因为:
|
||||
1. 在 `globals.css` 中已定义了 `.dark` 模式下的自动转换
|
||||
2. 这些颜色有明确的语义含义(成功/信息/警告/错误等)
|
||||
3. 用户已经熟悉这套视觉语言
|
||||
|
||||
---
|
||||
|
||||
## 📝 相关文档
|
||||
|
||||
- [主题重构指南](THEME_REFACTOR_GUIDE.md)
|
||||
- [农事日历完整指南](components/operation/CALENDAR_COMPLETE_GUIDE.md)
|
||||
- [Dark模式实现](DARK_MODE_IMPLEMENTATION.md)
|
||||
|
||||
---
|
||||
|
||||
**修复时间:** 2024年
|
||||
**修复类型:** Dark 模式适配
|
||||
**影响范围:** 农事操作管理 - 农事日历 - 全部3个标签页
|
||||
**修复文件:** `/components/operation/OperationCalendar.tsx`
|
||||
**修复行数:** 9处
|
||||
**状态:** ✅ 已完成
|
||||
Reference in New Issue
Block a user