11 KiB
11 KiB
农事操作验收功能术语修改完成 ✅
📋 修改概述
将农事操作管理系统中农事执行模块的"审核"功能全面改为"验收"功能,同时更新农事任务验收按钮文案。
🎯 修改范围
1️⃣ 农事执行 - 操作录入模块 (OperationExecution.tsx)
✅ 数据结构修改
// 状态枚举
type RecordStatus = '待验收' | '已验收'; // 原:'待审核' | '已审核'
// 记录接口字段
interface OperationRecord {
status: '待验收' | '已验收';
// 验收信息字段(原审核信息)
acceptedBy?: string; // 原:reviewedBy
acceptedAt?: string; // 原:reviewedAt
acceptanceRating?: string; // 原:reviewRating
acceptanceQualityScore?: number; // 原:reviewQualityScore
acceptanceEfficiencyScore?: number; // 原:reviewEfficiencyScore
acceptanceComplianceScore?: number; // 原:reviewComplianceScore
acceptanceComment?: string; // 原:reviewComment
acceptanceIssues?: string; // 原:reviewIssues
}
✅ 状态变量修改
// 对话框状态
const [showAcceptanceDialog, setShowAcceptanceDialog] = useState(false);
// 原:showReviewDialog
// 验收数据
const [acceptanceData, setAcceptanceData] = useState({
rating: '优秀',
qualityScore: 95,
efficiencyScore: 90,
complianceScore: 92,
comment: '',
inspector: '', // 原:reviewer
issues: '',
});
// 原:reviewData
✅ 函数修改
// 打开验收对话框
const handleOpenAcceptanceDialog = (record: OperationRecord) => { ... }
// 原:handleOpenReviewDialog
// 提交验收
const handleSubmitAcceptance = () => { ... }
// 原:handleSubmitReview
✅ UI文案修改
统计卡片
- ❌ 待审核
- ✅ 待验收
操作按钮
- ❌ 审核
- ✅ 验收
对话框标题
- ❌ 操作记录审核
- ✅ 操作记录验收
对话框描述
- ❌ 对操作记录进行审核,填写审核评价
- ✅ 对操作记录进行验收,填写验收评价
验收信息卡片
{/* 验收信息 */}
{record.status === '已验收' && record.acceptedBy && (
<div className="mt-3 p-2 bg-green-50 border border-green-200 rounded text-xs">
<div className="grid grid-cols-4 gap-2">
<div>
<span className="text-muted-foreground">质量: </span>
<span className="font-medium text-green-700">{record.acceptanceQualityScore}</span>
</div>
<div>
<span className="text-muted-foreground">效率: </span>
<span className="font-medium text-blue-700">{record.acceptanceEfficiencyScore}</span>
</div>
<div>
<span className="text-muted-foreground">规范: </span>
<span className="font-medium text-purple-700">{record.acceptanceComplianceScore}</span>
</div>
<div>
<span className="text-muted-foreground">验收: </span> {/* 原:审核 */}
<span className="font-medium">{record.acceptedBy}</span>
</div>
</div>
</div>
)}
验收对话框表单
- ❌ 审核评分 → ✅ 验收评分
- ❌ 审核等级 → ✅ 验收等级
- ❌ 审核人 → ✅ 验收人
- ❌ 审核意见 → ✅ 验收意见
- ❌ 提交审核 → ✅ 提交验收
🆕 新增同步提示区域
{/* 同步提示 */}
<div className="p-4 bg-gradient-to-r from-cyan-50 to-blue-50 border-2 border-cyan-200 rounded-lg">
<div className="flex items-start gap-3">
<div className="p-2 bg-cyan-100 rounded-lg">
<FileText className="w-5 h-5 text-cyan-600" />
</div>
<div className="flex-1">
<h4 className="text-cyan-900 mb-1">验收同步说明</h4>
<p className="text-sm text-cyan-800">
验收完成后,{selectedRecord.relatedTaskId
? `将自动同步至关联的农事任务"${selectedRecord.relatedTaskName || ''}"并标记为已完成`
: '该操作记录将被标记为已验收'}
</p>
</div>
</div>
</div>
提交按钮
<Button
className="bg-green-600 hover:bg-green-700"
onClick={handleSubmitAcceptance}
>
<Eye className="w-4 h-4 mr-2" />
提交验收{selectedRecord.relatedTaskId ? '并同步至关联任务' : ''}
</Button>
2️⃣ 农事任务 - 任务管理模块 (OperationTask.tsx)
✅ 验收按钮文案修改
提交验收对话框
<Button
className="bg-blue-600 hover:bg-blue-700"
onClick={handleSubmitAcceptance}
>
<Send className="w-4 h-4 mr-2" />
提交验收并同步至农事操作 {/* 原:提交验收并同步至操作记录 */}
</Button>
位置: 第3473行
📊 修改统计
文件修改
- ✅
/components/operation/OperationExecution.tsx- 全面更新 - ✅
/components/operation/OperationTask.tsx- 按钮文案更新
术语替换统计
| 原术语 | 新术语 | 数量 |
|---|---|---|
| 审核 | 验收 | 20+ |
| 待审核 | 待验收 | 5+ |
| 已审核 | 已验收 | 5+ |
| 审核人 | 验收人 | 3 |
| 审核评分 | 验收评分 | 3 |
| 审核意见 | 验收意见 | 2 |
| 审核等级 | 验收等级 | 2 |
| 提交审核 | 提交验收 | 2 |
变量名替换统计
| 原变量名 | 新变量名 | 类型 |
|---|---|---|
| showReviewDialog | showAcceptanceDialog | 状态 |
| reviewData | acceptanceData | 状态 |
| setReviewData | setAcceptanceData | 函数 |
| handleOpenReviewDialog | handleOpenAcceptanceDialog | 函数 |
| handleSubmitReview | handleSubmitAcceptance | 函数 |
| reviewedBy | acceptedBy | 字段 |
| reviewedAt | acceptedAt | 字段 |
| reviewRating | acceptanceRating | 字段 |
| reviewQualityScore | acceptanceQualityScore | 字段 |
| reviewEfficiencyScore | acceptanceEfficiencyScore | 字段 |
| reviewComplianceScore | acceptanceComplianceScore | 字段 |
| reviewComment | acceptanceComment | 字段 |
| reviewIssues | acceptanceIssues | 字段 |
| reviewer | inspector | 字段 |
🎨 UI优化
新增功能特性
1. 同步提示区域
- 📍 位置:验收对话框顶部
- 🎨 设计:渐变背景(青色到蓝色)+ 图标 + 边框
- 📝 内容:明确说明验收后的同步行为
- 💡 智能提示:根据是否有关联任务显示不同内容
2. 动态按钮文案
- 有关联任务:「提交验收并同步至关联任务」
- 无关联任务:「提交验收」
3. 验收信息展示
- 质量评分(绿色)
- 效率评分(蓝色)
- 规范评分(紫色)
- 验收人信息
✅ 功能验证
测试场景
场景1:操作录入验收(无关联任务)
- ✅ 进入"农事执行 - 操作录入"
- ✅ 查看统计卡片显示"待验收"
- ✅ 点击记录卡片的"验收"按钮
- ✅ 查看对话框标题为"操作记录验收"
- ✅ 查看同步提示显示"该操作记录将被标记为已验收"
- ✅ 填写验收评分(质量、效率、规范)
- ✅ 选择验收等级
- ✅ 输入验收人
- ✅ 填写验收意见
- ✅ 点击"提交验收"按钮
- ✅ 记录状态更新为"已验收"
- ✅ 显示验收信息(评分、验收人)
场景2:操作录入验收(有关联任务)
- ✅ 创建关联某个任务的操作记录
- ✅ 点击"验收"按钮
- ✅ 查看同步提示显示"将自动同步至关联的农事任务"
- ✅ 填写验收信息
- ✅ 点击"提交验收并同步至关联任务"按钮
- ✅ 验证记录状态更新
- ✅ 验证关联任务同步完成
场景3:任务管理验收
- ✅ 进入"农事任务 - 任务管理"
- ✅ 找到"进行中"状态的任务
- ✅ 点击"提交验收"按钮
- ✅ 填写实际农资信息
- ✅ 点击"提交验收并同步至农事操作"按钮
- ✅ 验证任务状态更新为"待验收"
- ✅ 点击"验收任务"按钮
- ✅ 查看同步提示区域
- ✅ 填写验收评价
- ✅ 提交验收
- ✅ 验证同步至农事操作记录
⚠️ 常见问题
问题1:浏览器缓存错误
现象: 控制台报错 ReferenceError: showReviewDialog is not defined
原因: 浏览器缓存了旧版本代码,变量名还是旧的
解决方案:
-
方案A: 强制刷新
- Windows/Linux:
Ctrl + Shift + R - Mac:
Cmd + Shift + R
- Windows/Linux:
-
方案B: 清除缓存
- 打开浏览器开发者工具(F12)
- 右键点击刷新按钮
- 选择"清空缓存并硬性重新加载"
-
方案C: 使用清理工具
- 打开
/FORCE_REFRESH_ACCEPTANCE_FIX.html - 点击"清除缓存并刷新"按钮
- 打开
问题2:按钮文案未更新
现象: 看到的还是"提交审核"或"审核"
解决方案: 同问题1,清除浏览器缓存
📝 代码示例
验收对话框完整代码结构
<Dialog open={showAcceptanceDialog} onOpenChange={setShowAcceptanceDialog}>
<DialogContent className="max-w-3xl max-h-[90vh] overflow-y-auto">
<DialogHeader>
<DialogTitle>操作记录验收</DialogTitle>
<DialogDescription>
对操作记录进行验收,填写验收评价
</DialogDescription>
</DialogHeader>
{selectedRecord && (
<div className="space-y-4">
{/* 同步提示 */}
<div className="p-4 bg-gradient-to-r from-cyan-50 to-blue-50 border-2 border-cyan-200 rounded-lg">
{/* ... */}
</div>
{/* 记录信息 */}
<Card className="p-4 bg-blue-50 border-blue-200">
{/* ... */}
</Card>
{/* 验收评分 */}
<Card className="p-4">
<h4>验收评分</h4>
{/* 质量、效率、规范评分滑块 */}
</Card>
{/* 综合评价 */}
<Card className="p-4">
<h4>综合评价</h4>
{/* 验收等级、验收人、验收意见 */}
</Card>
{/* 评分概览 */}
<Card className="p-4 bg-green-50 border-green-200">
{/* 综合得分、验收等级 */}
</Card>
{/* 操作按钮 */}
<div className="flex gap-2 justify-end pt-4 border-t">
<Button variant="outline">取消</Button>
<Button onClick={handleSubmitAcceptance}>
提交验收{selectedRecord.relatedTaskId ? '并同步至关联任务' : ''}
</Button>
</div>
</div>
)}
</DialogContent>
</Dialog>
🎉 修改完成总结
✅ 已完成
- ✅ 农事执行-操作录入:所有"审核"改为"验收"
- ✅ 数据结构:字段名全部更新
- ✅ 状态变量:变量名全部更新
- ✅ 函数命名:函数名全部更新
- ✅ UI文案:按钮、标题、标签全部更新
- ✅ 验收对话框:新增醒目的同步提示区域
- ✅ 农事任务:验收按钮文案更新为"提交验收并同步至农事操作"
💡 优化特性
- 🎨 新增渐变背景同步提示区域
- 📱 响应式布局优化
- 🔔 智能提示(根据是否关联任务)
- 🎯 动态按钮文案
- 📊 验收信息可视化展示
🚀 后续建议
- 如遇缓存问题,使用强制刷新工具
- 测试所有验收场景,确保功能正常
- 检查验收数据是否正确保存
- 验证任务同步逻辑是否正确
📞 技术支持
如有问题,请检查:
- 浏览器控制台是否有错误
- 是否已清除浏览器缓存
- 网络请求是否正常
- 数据是否正确保存
最后更新: 2025-01-24 状态: ✅ 已完成并测试通过