pipeline-task/wwwroot/pipeline_task.js
yumoqing 50a38e15e1 feat: pipeline-task 交互模块初始版本
- 纯薄交互层,无数据表,调用 pipeline-service 引擎函数
- 6个dspy API(submit/list/detail/node/modify/control)
- 4个UI页面(index/list/detail/submit)
- pipeline_task.js 交互辅助函数
- load_path.py RBAC 权限注册
- 完整 README 文档
2026-06-11 17:36:37 +08:00

75 lines
2.5 KiB
JavaScript

// pipeline_task.js — 产线任务交互辅助函数
var currentTaskId = '';
// 加载任务列表
function loadTaskList() {
var filterPipeline = $('[name="filter_pipeline"]').val() || '';
var url = entire_url('api/task_list.dspy');
if (filterPipeline) {
url += '?pipeline_id=' + filterPipeline;
}
$.get(url, function(resp) {
var data = typeof resp === 'string' ? JSON.parse(resp) : resp;
if (!data.success) {
$('#task_table_area').html('<div class="alert error">' + (data.message || '加载失败') + '</div>');
return;
}
var tasks = data.tasks || [];
if (tasks.length === 0) {
$('#task_table_area').html('<div class="empty-state">暂无任务</div>');
return;
}
var html = '<table class="data-table"><thead><tr>';
html += '<th>任务ID</th><th>标题</th><th>状态</th><th>版本</th><th>创建时间</th><th>操作</th>';
html += '</tr></thead><tbody>';
tasks.forEach(function(t) {
html += '<tr>';
html += '<td>' + (t.id || '').substring(0, 8) + '</td>';
html += '<td>' + (t.title || '') + '</td>';
html += '<td><span class="badge state-' + (t.state || '') + '">' + (t.state || '') + '</span></td>';
html += '<td>v' + (t.current_version || 1) + '</td>';
html += '<td>' + (t.created_at || '') + '</td>';
html += '<td><button class="btn-small" onclick="viewTask(\'' + t.id + '\')">查看</button></td>';
html += '</tr>';
});
html += '</tbody></table>';
$('#task_table_area').html(html);
});
}
// 查看任务详情
function viewTask(taskId) {
currentTaskId = taskId;
var url = entire_url('task_detail.ui');
window.location.href = url + '?task_id=' + taskId;
}
// 控制任务(暂停/恢复/取消)
function controlTask(action) {
if (!currentTaskId) return;
var url = entire_url('api/task_control.dspy');
$.post(url, {task_id: currentTaskId, action: action}, function(resp) {
var data = typeof resp === 'string' ? JSON.parse(resp) : resp;
if (data.success) {
alert('操作成功: ' + data.message);
location.reload();
} else {
alert('操作失败: ' + (data.message || '未知错误'));
}
});
}
// 页面加载完成
$(function() {
if ($('#task_table_area').length > 0) {
loadTaskList();
}
});