Files
param-auto-manager/templates/process.html
T
hz4th_coder 9b11c02cba feat: 步骤6提交审核改用智能体执行
- 新增步骤6任务模板(config/agent_submit_template.txt)
- 步骤6调用智能体hz4th_editor执行提交操作
- 智能体根据产品类别选择对应API接口提交数据
- 页面新增步骤6模板编辑面板,支持查看/编辑/保存/预览
- 修正步骤5标题为'填充字段'(去掉'并提交')
- 新增API: GET/POST /api/process/submit-template
2026-07-15 16:52:28 +08:00

210 lines
10 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>处理监控 - 参数数据自动化管理系统</title>
<link rel="stylesheet" href="/static/css/style.css">
<link rel="stylesheet" href="/static/css/process.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css">
</head>
<body>
<div class="process-container">
<!-- 头部 -->
<header class="process-header">
<div class="header-left">
<a href="/" class="back-link">
<i class="ri-arrow-left-line"></i> 返回主页
</a>
<h1><i class="ri-cpu-line"></i> 处理流程监控</h1>
</div>
<div class="header-right">
<button onclick="refreshData()" class="btn btn-secondary">
<i class="ri-refresh-line"></i> 刷新
</button>
</div>
</header>
<!-- 活动处理区域 -->
<div class="panel active-processes">
<div class="panel-header">
<h2><i class="ri-play-circle-line"></i> 正在处理</h2>
</div>
<div class="panel-body">
<div id="active-list" class="active-list">
<div class="empty-text">暂无正在进行的处理</div>
</div>
</div>
</div>
<!-- 步骤定义区域 -->
<div class="panel steps-definition">
<div class="panel-header">
<h2><i class="ri-list-ordered"></i> 处理步骤</h2>
</div>
<div class="panel-body">
<div class="steps-flow" id="steps-flow">
<!-- 动态生成 -->
</div>
</div>
</div>
<!-- 智能体任务模板区域 -->
<div class="panel template-section">
<div class="panel-header">
<h2><i class="ri-robot-line"></i> 步骤4:提取产品数据 - 智能体任务模板</h2>
<div class="template-actions">
<button onclick="previewTemplate()" class="btn btn-secondary btn-sm">
<i class="ri-eye-line"></i> 预览
</button>
<button onclick="saveTemplate()" class="btn btn-primary btn-sm">
<i class="ri-save-line"></i> 保存模板
</button>
</div>
</div>
<div class="panel-body">
<div class="template-info">
<p><strong>说明:</strong>此模板用于步骤4「提取产品数据」中调用智能体 <code>hz4th_editor</code> 的任务文本。</p>
<p><strong>可用变量:</strong>
<code>{{product_name}}</code> 产品名称、
<code>{{category}}</code> 类别、
<code>{{subcategory}}</code> 子类别、
<code>{{library_results}}</code> 内容库搜索结果、
<code>{{internet_results}}</code> 互联网抓取内容
</p>
<p><strong>调用命令:</strong><code>openclaw agent --agent hz4th_editor --message "[填充后的任务文本]"</code></p>
</div>
<textarea id="agent-template-editor" class="template-editor" rows="15" placeholder="加载模板中..."></textarea>
</div>
</div>
<!-- 步骤5填充字段模板区域 -->
<div class="panel template-section">
<div class="panel-header">
<h2><i class="ri-edit-box-line"></i> 步骤5:填充字段 - 智能体任务模板</h2>
<div class="template-actions">
<button onclick="previewFillFieldsTemplate()" class="btn btn-secondary btn-sm">
<i class="ri-eye-line"></i> 预览
</button>
<button onclick="saveFillFieldsTemplate()" class="btn btn-primary btn-sm">
<i class="ri-save-line"></i> 保存模板
</button>
</div>
</div>
<div class="panel-body">
<div class="template-info">
<p><strong>说明:</strong>此模板用于步骤5「填充字段」中调用智能体 <code>hz4th_editor</code> 的任务文本。</p>
<p><strong>可用变量:</strong>
<code>{{product_name}}</code> 产品名称、
<code>{{category}}</code> 类别、
<code>{{subcategory}}</code> 子类别、
<code>{{relevant_content_ids}}</code> 上一步筛选的相关内容数据ID
</p>
<p><strong>任务目标:</strong>智能体根据API文档获取字段定义,整理产品参数,并进行格式检查。</p>
</div>
<textarea id="fill-fields-template-editor" class="template-editor" rows="15" placeholder="加载模板中..."></textarea>
</div>
</div>
<!-- 步骤6提交审核模板区域 -->
<div class="panel template-section">
<div class="panel-header">
<h2><i class="ri-upload-cloud-line"></i> 步骤6:提交审核 - 智能体任务模板</h2>
<div class="template-actions">
<button onclick="previewSubmitTemplate()" class="btn btn-secondary btn-sm">
<i class="ri-eye-line"></i> 预览
</button>
<button onclick="saveSubmitTemplate()" class="btn btn-primary btn-sm">
<i class="ri-save-line"></i> 保存模板
</button>
</div>
</div>
<div class="panel-body">
<div class="template-info">
<p><strong>说明:</strong>此模板用于步骤6「提交审核」中调用智能体 <code>hz4th_editor</code> 的任务文本。</p>
<p><strong>可用变量:</strong>
<code>{{product_name}}</code> 产品名称、
<code>{{category}}</code> 类别、
<code>{{subcategory}}</code> 子类别、
<code>{{product_data}}</code> 上一步生成的产品数据(JSON格式)
</p>
<p><strong>任务目标:</strong>智能体将产品数据提交到ParamHub审核系统,获取review_id。</p>
</div>
<textarea id="submit-template-editor" class="template-editor" rows="15" placeholder="加载模板中..."></textarea>
</div>
</div>
<!-- 预览模态框 -->
<div id="template-preview-modal" class="modal">
<div class="modal-content large">
<div class="modal-header">
<h3><i class="ri-eye-line"></i> 任务文本预览</h3>
<button onclick="closeModal('template-preview-modal')" class="close-btn">
<i class="ri-close-line"></i>
</button>
</div>
<div class="modal-body">
<div class="preview-meta" style="margin-bottom: 15px;">
<label>产品名称: <input type="text" id="preview-product" value="示例产品" style="padding: 4px 8px; border: 1px solid #ddd; border-radius: 4px;"></label>
<label style="margin-left: 10px;">类别: <input type="text" id="preview-category" value="AI模型" style="padding: 4px 8px; border: 1px solid #ddd; border-radius: 4px;"></label>
<button onclick="doPreview()" class="btn btn-sm btn-secondary" style="margin-left: 10px;"><i class="ri-refresh-line"></i> 刷新预览</button>
</div>
<pre id="template-preview-content" style="background: #f8f9fa; padding: 15px; border-radius: 8px; white-space: pre-wrap; font-size: 13px; max-height: 500px; overflow-y: auto;">加载中...</pre>
</div>
<div class="modal-footer">
<button onclick="closeModal('template-preview-modal')" class="btn btn-secondary">关闭</button>
</div>
</div>
</div>
<!-- 处理历史区域 -->
<div class="panel history-section">
<div class="panel-header">
<h2><i class="ri-history-line"></i> 处理历史</h2>
<button onclick="loadHistory()" class="btn btn-secondary btn-sm">
<i class="ri-refresh-line"></i>
</button>
</div>
<div class="panel-body">
<table class="data-table">
<thead>
<tr>
<th>产品名称</th>
<th>状态</th>
<th>当前步骤</th>
<th>开始时间</th>
<th>完成时间</th>
<th>操作</th>
</tr>
</thead>
<tbody id="history-table">
<tr><td colspan="6" class="empty-text">暂无处理历史</td></tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- 处理详情模态框 -->
<div id="process-detail-modal" class="modal">
<div class="modal-content large">
<div class="modal-header">
<h3 id="detail-title"><i class="ri-file-list-3-line"></i> 处理详情</h3>
<button onclick="closeModal('process-detail-modal')" class="close-btn">
<i class="ri-close-line"></i>
</button>
</div>
<div class="modal-body" id="detail-body">
</div>
<div class="modal-footer">
<button onclick="closeModal('process-detail-modal')" class="btn btn-secondary">关闭</button>
</div>
</div>
</div>
<!-- 提示消息 -->
<div id="toast" class="toast"></div>
<script src="/static/js/process.js"></script>
</body>
</html>