Files
smart-crop-ui/src/ACCEPTANCE_TERMINOLOGY_UPDATE_COMPLETE.md

11 KiB
Raw Blame History

农事操作验收功能术语修改完成

📋 修改概述

将农事操作管理系统中农事执行模块的"审核"功能全面改为"验收"功能,同时更新农事任务验收按钮文案。


🎯 修改范围

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操作录入验收无关联任务

  1. 进入"农事执行 - 操作录入"
  2. 查看统计卡片显示"待验收"
  3. 点击记录卡片的"验收"按钮
  4. 查看对话框标题为"操作记录验收"
  5. 查看同步提示显示"该操作记录将被标记为已验收"
  6. 填写验收评分(质量、效率、规范)
  7. 选择验收等级
  8. 输入验收人
  9. 填写验收意见
  10. 点击"提交验收"按钮
  11. 记录状态更新为"已验收"
  12. 显示验收信息(评分、验收人)

场景2操作录入验收有关联任务

  1. 创建关联某个任务的操作记录
  2. 点击"验收"按钮
  3. 查看同步提示显示"将自动同步至关联的农事任务"
  4. 填写验收信息
  5. 点击"提交验收并同步至关联任务"按钮
  6. 验证记录状态更新
  7. 验证关联任务同步完成

场景3任务管理验收

  1. 进入"农事任务 - 任务管理"
  2. 找到"进行中"状态的任务
  3. 点击"提交验收"按钮
  4. 填写实际农资信息
  5. 点击"提交验收并同步至农事操作"按钮
  6. 验证任务状态更新为"待验收"
  7. 点击"验收任务"按钮
  8. 查看同步提示区域
  9. 填写验收评价
  10. 提交验收
  11. 验证同步至农事操作记录

⚠️ 常见问题

问题1浏览器缓存错误

现象: 控制台报错 ReferenceError: showReviewDialog is not defined

原因: 浏览器缓存了旧版本代码,变量名还是旧的

解决方案:

  1. 方案A 强制刷新

    • Windows/Linux: Ctrl + Shift + R
    • Mac: Cmd + Shift + R
  2. 方案B 清除缓存

    • 打开浏览器开发者工具F12
    • 右键点击刷新按钮
    • 选择"清空缓存并硬性重新加载"
  3. 方案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>

🎉 修改完成总结

已完成

  1. 农事执行-操作录入:所有"审核"改为"验收"
  2. 数据结构:字段名全部更新
  3. 状态变量:变量名全部更新
  4. 函数命名:函数名全部更新
  5. UI文案按钮、标题、标签全部更新
  6. 验收对话框:新增醒目的同步提示区域
  7. 农事任务:验收按钮文案更新为"提交验收并同步至农事操作"

💡 优化特性

  • 🎨 新增渐变背景同步提示区域
  • 📱 响应式布局优化
  • 🔔 智能提示(根据是否关联任务)
  • 🎯 动态按钮文案
  • 📊 验收信息可视化展示

🚀 后续建议

  1. 如遇缓存问题,使用强制刷新工具
  2. 测试所有验收场景,确保功能正常
  3. 检查验收数据是否正确保存
  4. 验证任务同步逻辑是否正确

📞 技术支持

如有问题,请检查:

  1. 浏览器控制台是否有错误
  2. 是否已清除浏览器缓存
  3. 网络请求是否正常
  4. 数据是否正确保存

最后更新: 2025-01-24 状态: 已完成并测试通过