فهرست منبع

fix(order-management-ui): 修复订单表单薪资验证错误显示问题

- 在薪资输入框下方添加验证错误信息显示
- 当薪资为0或未填写时,显示"薪资必须为正数"错误提示
- 保持原有验证规则和默认值不变

🤖 Generated with [Claude Code](https://claude.com/claude-code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 2 هفته پیش
والد
کامیت
836508eea0
1فایلهای تغییر یافته به همراه10 افزوده شده و 1 حذف شده
  1. 10 1
      allin-packages/order-management-ui/src/components/OrderForm.tsx

+ 10 - 1
allin-packages/order-management-ui/src/components/OrderForm.tsx

@@ -617,9 +617,18 @@ export const OrderForm: React.FC<OrderFormProps> = ({
                                             type="number"
                                             placeholder="请输入薪资"
                                             defaultValue="0"
-                                            onChange={(e) => handlePersonDetailChange(person.id, 'salaryDetail', e.target.value)}
+                                            onChange={(e) => {
+                                              const value = e.target.value === '' ? 0 : Number(e.target.value);
+                                              handlePersonDetailChange(person.id, 'salaryDetail', value);
+                                            }}
                                             data-testid={`salary-detail-input-${person.id}`}
                                           />
+                                          {/* 显示薪资验证错误 */}
+                                          {form.formState.errors.orderPersons?.[selectedPersons.findIndex(p => p.id === person.id)]?.salaryDetail && (
+                                            <p className="text-sm font-medium text-destructive mt-1">
+                                              {form.formState.errors.orderPersons[selectedPersons.findIndex(p => p.id === person.id)].salaryDetail?.message}
+                                            </p>
+                                          )}
                                         </div>
                                         <div>
                                           <FormLabel className="text-sm">工作状态</FormLabel>