aps-agent/aps-frontend/pages/rule-engine.html

69 lines
3.5 KiB
HTML
Raw Permalink Normal View History

2026-07-21 11:05:57 +08:00
<!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="../css/common.css">
</head>
<body>
<div id="app">
<header class="header" id="header"></header>
<div class="body">
<aside class="sidebar" id="sidebar"></aside>
<main class="main">
<h1 class="page-title">规则引擎</h1>
<p class="page-desc">配置排序规则、分配规则和调度规则,规则引擎用于快速生成初始可行解。</p>
<div class="row">
<div class="col-4">
<div class="card">
<div class="card-header">排序规则</div>
<div class="card-body">
<div class="form-group"><label>默认排序规则</label><select id="sortRule" class="w-full"><option value="EDD">交期优先 (EDD)</option><option value="HPF">优先级优先 (HPF)</option><option value="FIFO">先进先出 (FIFO)</option><option value="SPT">最短加工时间 (SPT)</option><option value="LPT">最长加工时间 (LPT)</option></select></div>
<div class="form-group"><label>组合排序</label><textarea id="sortCombo" rows="3" class="w-full">priority ASC, deliveryDate ASC</textarea></div>
</div>
</div>
</div>
<div class="col-4">
<div class="card">
<div class="card-header">分配规则</div>
<div class="card-body">
<div class="form-group"><label>默认分配规则</label><select id="allocRule" class="w-full"><option value="PREFERRED">首选产线</option><option value="LOAD_BALANCE">最小负荷</option><option value="EARLIEST">最早可用</option><option value="CHEAPEST">成本最低</option></select></div>
<div class="form-group"><label>负荷均衡阈值 (%)</label><input id="loadThreshold" type="number" value="85" class="w-full"></div>
</div>
</div>
</div>
<div class="col-4">
<div class="card">
<div class="card-header">调度规则</div>
<div class="card-body">
<div class="form-group"><label>默认调度方向</label><select id="schedRule" class="w-full"><option value="FORWARD">前向调度</option><option value="BACKWARD">后向调度</option><option value="BIDIRECTIONAL">双向调度</option><option value="TOC">瓶颈调度</option></select></div>
<div class="form-group"><label>交期缓冲系数</label><input id="bufferRatio" type="number" step="0.05" value="0.95" class="w-full"></div>
</div>
</div>
</div>
</div>
<button class="btn btn-primary" onclick="saveRules()">保存规则配置</button>
</main>
</div>
</div>
<script src="../js/data.js"></script>
<script src="../js/common.js"></script>
<script>
initPage('rule-engine');
function saveRules() {
apsData.scheduleParams.ruleConfig = {
sortRule: document.getElementById('sortRule').value,
sortCombo: document.getElementById('sortCombo').value,
allocRule: document.getElementById('allocRule').value,
loadThreshold: Number(document.getElementById('loadThreshold').value),
schedRule: document.getElementById('schedRule').value,
bufferRatio: Number(document.getElementById('bufferRatio').value)
};
apsData.$utils.save(apsData);
showToast('保存成功', '规则引擎配置已更新');
}
</script>
</body>
</html>