67 lines
4.1 KiB
HTML
67 lines
4.1 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="../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>
|
|
<div class="row">
|
|
<div class="col-6">
|
|
<div class="card">
|
|
<div class="card-header">时间参数</div>
|
|
<div class="card-body">
|
|
<div class="form-row"><div class="form-group"><label>计划展望期(天)</label><input id="sp_horizon" type="number" value="30"></div><div class="form-group"><label>排产时间粒度(分钟)</label><input id="sp_grain" type="number" value="15"></div></div>
|
|
<div class="form-row"><div class="form-group"><label>滚动排产 Cron</label><input id="sp_cron" value="0 0 * * *"></div><div class="form-group"><label>交期缓冲系数</label><input id="sp_buffer" type="number" step="0.05" value="0.95"></div></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-6">
|
|
<div class="card">
|
|
<div class="card-header">引擎与约束</div>
|
|
<div class="card-body">
|
|
<div class="form-row"><div class="form-group"><label>默认引擎</label><select id="sp_engine"><option>HYBRID</option><option>RULE</option><option>CP</option><option>GA</option></select></div><div class="form-group"><label>最大求解时间(秒)</label><input id="sp_maxtime" type="number" value="300"></div></div>
|
|
<div class="form-row"><div class="form-group"><label>物料齐套检查</label><select id="sp_ckmat"><option value="true">是</option><option value="false">否</option></select></div><div class="form-group"><label>换线时间计算</label><select id="sp_ckchange"><option value="true">是</option><option value="false">否</option></select></div></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="card-header">插单参数</div>
|
|
<div class="card-body">
|
|
<div class="form-row"><div class="form-group"><label>默认插单策略</label><select id="sp_rush"><option>STRATEGY_SHIFT</option><option>STRATEGY_SPLIT</option><option>STRATEGY_ALTERNATIVE</option><option>STRATEGY_OVERTIME</option></select></div><div class="form-group"><label>冻结时间窗口(小时)</label><input id="sp_freeze" type="number" value="24"></div></div>
|
|
</div>
|
|
</div>
|
|
<button class="btn btn-primary mt-2" onclick="saveParams()">保存参数</button>
|
|
</main>
|
|
</div>
|
|
</div>
|
|
<script src="../js/data.js"></script>
|
|
<script src="../js/common.js"></script>
|
|
<script>
|
|
initPage('schedule-params');
|
|
function saveParams() {
|
|
apsData.scheduleParams.planningHorizonDays = Number(document.getElementById('sp_horizon').value);
|
|
apsData.scheduleParams.timeGranularityMinutes = Number(document.getElementById('sp_grain').value);
|
|
apsData.scheduleParams.rollingScheduleCron = document.getElementById('sp_cron').value;
|
|
apsData.scheduleParams.deliveryBufferRatio = Number(document.getElementById('sp_buffer').value);
|
|
apsData.scheduleParams.defaultEngine = document.getElementById('sp_engine').value;
|
|
apsData.scheduleParams.maxSolveTimeSeconds = Number(document.getElementById('sp_maxtime').value);
|
|
apsData.scheduleParams.constraints.materialKit = document.getElementById('sp_ckmat').value === 'true';
|
|
apsData.scheduleParams.constraints.changeover = document.getElementById('sp_ckchange').value === 'true';
|
|
apsData.scheduleParams.rushStrategy = document.getElementById('sp_rush').value;
|
|
apsData.scheduleParams.freezeWindowHours = Number(document.getElementById('sp_freeze').value);
|
|
apsData.$utils.save(apsData);
|
|
showToast('保存成功', '排产参数已更新');
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|