修复接单模板无法新增

This commit is contained in:
yml2213
2026-08-19 18:58:54 +08:00
parent 7b92d6b219
commit a24f2721e6
@@ -26,7 +26,7 @@ import {
Typography, Typography,
} from 'antd' } from 'antd'
import type { TableColumnsType } from 'antd' import type { TableColumnsType } from 'antd'
import { useEffect, useMemo, useState } from 'react' import { useEffect, useMemo, useRef, useState } from 'react'
import { useNavigate, useSearchParams } from 'react-router' import { useNavigate, useSearchParams } from 'react-router'
import { import {
@@ -51,6 +51,7 @@ export default function ProductRulesPanel() {
const [form] = Form.useForm() const [form] = Form.useForm()
const navigate = useNavigate() const navigate = useNavigate()
const [searchParams] = useSearchParams() const [searchParams] = useSearchParams()
const hasInitializedRuleSelection = useRef(false)
const [editingRule, setEditingRule] = useState<WorkProductRule | null>(null) const [editingRule, setEditingRule] = useState<WorkProductRule | null>(null)
const [activeMappingId, setActiveMappingId] = useState<number | 'new' | null>(null) const [activeMappingId, setActiveMappingId] = useState<number | 'new' | null>(null)
@@ -113,9 +114,10 @@ export default function ProductRulesPanel() {
]), ]),
) )
// Default select first rule if none selected when list loads // 首次加载时默认选中第一条;新建时必须保留空表单,不能再次自动选回旧模板。
useEffect(() => { useEffect(() => {
if (!editingRule && rules.length > 0) { if (!hasInitializedRuleSelection.current && !editingRule && rules.length > 0) {
hasInitializedRuleSelection.current = true
editRule(rules[0]) editRule(rules[0])
} }
}, [rules, editingRule]) }, [rules, editingRule])