fix: 属性面板拾取按钮错位

- vision 组件(CV_/OcrOffline_)的 element 字段不再显示浏览器拾取按钮, 目标为手填屏幕文本并更新占位提示
- 修复 file/folder 分支按钮嵌套错误(框选/选窗口按钮误嵌在浏览按钮内且重复两份), 还原为平级按钮
This commit is contained in:
yu 2026-11-02 17:16:17 +08:00
parent 3bc8b60e83
commit bf5ad56063

View File

@ -700,45 +700,33 @@ function FieldControl({
<VarMenu variables={variables} onPick={insertVariable} />
<button type="button" className="mini-btn" onClick={() => void pickPath(field.widget === "folder")} title="浏览">
<FolderOpen className="icon" style={{ width: 13, height: 13 }} />
{isVisionTarget && /image/i.test(field.key) && (
<button type="button" className="mini-btn" disabled={picking} onClick={() => void pickRegionToField()} title="屏幕框选区域并截图">
{picking ? "框选中" : "屏幕框选"}
</button>
)}
{isWindowTarget && /title/i.test(field.key) && (
<button type="button" className="mini-btn" disabled={picking} onClick={() => void pickWindowToField()} title="选择窗口">
{picking ? "选择中" : "选窗口"}
</button>
)}
{isVisionTarget && /image/i.test(field.key) && (
<button type="button" className="mini-btn" disabled={picking} onClick={() => void pickRegionToField()} title="屏幕框选区域并截图">
{picking ? "框选中" : "屏幕框选"}
</button>
)}
{isWindowTarget && /title/i.test(field.key) && (
<button type="button" className="mini-btn" disabled={picking} onClick={() => void pickWindowToField()} title="选择窗口">
{picking ? "选择中" : "选窗口"}
</button>
)}
</button>
{isVisionTarget && /image/i.test(field.key) && (
<button type="button" className="mini-btn" disabled={picking} onClick={() => void pickRegionToField()} title="屏幕框选区域并截图">
{picking ? "框选中" : "屏幕框选"}
</button>
)}
{isWindowTarget && /title/i.test(field.key) && (
<button type="button" className="mini-btn" disabled={picking} onClick={() => void pickWindowToField()} title="选择窗口">
{picking ? "选择中" : "选窗口"}
</button>
)}
</div>
) : field.widget === "element" ? (
<div className="field-row">
<input
className="text-input"
value={textOf(raw)}
placeholder="css:#submit / aria:button"
placeholder={isVisionTarget ? "屏幕上可见的目标文本" : "css:#submit / aria:button"}
onChange={(event) => onChange(field.key, event.target.value)}
/>
{isGroundTarget ? (
<>
<button type="button" className="mini-btn" disabled={picking} onClick={() => void pickDesktop()} title="从桌面拾取元素(移到目标按空格)">
{picking ? "桌面拾取中" : "桌面拾取"}
</button>
</>
) : (
<button type="button" className="mini-btn" disabled={picking} onClick={() => void pickDesktop()} title="从桌面拾取元素(移到目标按空格)">
{picking ? "桌面拾取中" : "桌面拾取"}
</button>
) : isVisionTarget ? null : (
<button type="button" className="mini-btn" disabled={picking} onClick={() => void pickElement()} title="从浏览器拾取元素(移到目标按空格锁定,PageUp/PageDown 调层级)">
{picking ? "浏览器拾取中" : "浏览器拾取"}
{picking ? "浏览器拾取中" : "浏览器拾取"}
</button>
)}
</div>