Files
MES/app/views/Admin/workstationAdd.php
2026-08-08 18:28:49 +08:00

101 lines
5.1 KiB
PHP

<?php
$activeMenu = 'workstation';
include APP_PATH . 'app/views/layouts/admin_header.php';
?>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title"><i class="fa fa-plus"></i> 添加工位</h3>
</div>
<form method="post" action="">
<input type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($csrfToken); ?>">
<div class="box-body">
<?php if (!empty($error)): ?>
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
<h4><i class="icon fa fa-ban"></i> 操作失败</h4>
<?php echo htmlspecialchars($error); ?>
</div>
<?php endif; ?>
<div class="form-group">
<label>工位名称 <span class="text-danger">*</span></label>
<input type="text" name="station_name" class="form-control" placeholder="如:入库工位" required>
</div>
<div class="form-group">
<label>工位编码 <span class="text-danger">*</span></label>
<input type="text" name="station_code" class="form-control" placeholder="如:STATION_INBOUND" required>
</div>
<div class="form-group">
<label>工位类型 <span class="text-danger">*</span></label>
<input type="text" name="station_type" class="form-control" placeholder="英文标识,如:painting、welding" required
pattern="[a-zA-Z][a-zA-Z0-9_]*" title="必须以字母开头,只能包含字母、数字和下划线">
<small class="text-muted">用于系统路由和权限识别,必须以字母开头,建议使用英文小写+下划线</small>
</div>
<div class="form-group">
<label>字段配置模板 <small class="text-muted">(可选,从已有工位复制)</small></label>
<select name="template_station" class="form-control" onchange="handleTemplateChange(this.value)">
<option value="">不复制(空白工位)</option>
<option value="inbound">半成品入库工位</option>
<option value="pcb_test">PCB 测试</option>
<option value="battery">电池状态</option>
<option value="assembly">产品组装</option>
<option value="finished_test">成品测试</option>
<option value="warehouse">成品入库工位</option>
<option value="delivery">出货登记</option>
</select>
<small class="text-muted">选择后将复制该工位的字段配置,后续可在编辑中修改</small>
</div>
<div id="templatePreview" style="display:none; margin-top:10px; padding:10px; background:#f9f9f9; border-radius:4px;">
<strong><i class="fa fa-clone"></i> 将复制的字段:</strong>
<span id="templateFieldsPreview" style="margin-left:8px; color:#666;"></span>
</div>
<div class="form-group">
<label>排序</label>
<input type="number" name="sort_order" class="form-control" value="1" min="1">
</div>
<div class="form-group">
<label>状态</label>
<select name="status" class="form-control">
<option value="1">启用</option>
<option value="0">禁用</option>
</select>
</div>
</div>
<div class="box-footer">
<button type="submit" class="btn btn-primary"><i class="fa fa-save"></i> 保存</button>
<a href="<?php echo BASE_URL; ?>/Admin/workstation" class="btn btn-default"><i class="fa fa-arrow-left"></i> 返回</a>
</div>
</form>
</div>
</div>
</div>
<script>
// 工位类型模板预览
var templateFieldsConfig = <?php echo json_encode($templateFieldsMap ?? [], JSON_UNESCAPED_UNICODE); ?>;
function handleTemplateChange(templateType) {
var preview = document.getElementById('templatePreview');
var fieldsSpan = document.getElementById('templateFieldsPreview');
if (!templateType) {
preview.style.display = 'none';
return;
}
var fields = templateFieldsConfig[templateType] || [];
if (fields.length > 0) {
var names = fields.map(function(f) { return f.label || f.name; });
fieldsSpan.textContent = names.join('、');
preview.style.display = 'block';
} else {
fieldsSpan.textContent = '(该工位暂无字段配置)';
preview.style.display = 'block';
}
}
</script>
<?php include APP_PATH . 'app/views/layouts/admin_footer.php'; ?>