function updateUIState()

in spring-ai-alibaba-jmanus/src/main/resources/static/plan-template/js/plan-template.js [712:744]


function updateUIState() {
    // 更新按钮状态
    generatePlanBtn.disabled = isGenerating;
    runPlanBtn.disabled = !currentPlanTemplateId || isGenerating || isExecuting;
    modifyPlanBtn.disabled = isGenerating || isExecuting || !currentPlanTemplateId;

    // 更新按钮文本
    if (isGenerating) {
        generatePlanBtn.innerHTML = '<span class="icon-loader"></span> 生成中...';
    } else {
        // 当计划模板ID不为空且有数据时,显示"优化计划"而不是"生成计划"
        if (currentPlanTemplateId && (currentPlanData || jsonEditor.value.trim())) {
            generatePlanBtn.innerHTML = '<span class="icon-placeholder"></span> 优化计划';
        } else {
            generatePlanBtn.innerHTML = '<span class="icon-placeholder"></span> 生成计划';
        }
    }

    if (isExecuting) {
        runPlanBtn.innerHTML = '<span class="icon-loader"></span> 执行中...';
    } else {
        runPlanBtn.innerHTML = '<span class="icon-run"></span> 执行计划';
    }

    // 更新版本控制按钮状态
    const rollbackBtn = document.getElementById('rollbackJsonBtn');
    const restoreBtn = document.getElementById('restoreJsonBtn');

    if (rollbackBtn && restoreBtn) {
        rollbackBtn.disabled = planVersions.length <= 1 || currentVersionIndex <= 0;
        restoreBtn.disabled = planVersions.length <= 1 || currentVersionIndex >= planVersions.length - 1;
    }
}