101 lines
5.1 KiB
PHP
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">×</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'; ?>
|