初始化
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
<?php
|
||||
$activeMenu = 'productModel';
|
||||
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>
|
||||
<i class="icon fa fa-ban"></i> <?php echo htmlspecialchars($error); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="form-group">
|
||||
<label>类型 <span class="text-danger">*</span></label>
|
||||
<select name="type" id="typeSelect" class="form-control" required>
|
||||
<option value="">-- 请选择类型 --</option>
|
||||
<?php if (!empty($typeConfigs)): ?>
|
||||
<?php foreach ($typeConfigs as $cfg): ?>
|
||||
<option value="<?php echo htmlspecialchars($cfg['type_name']); ?>"><?php echo htmlspecialchars($cfg['type_name']); ?></option>
|
||||
<?php endforeach; ?>
|
||||
<?php else: ?>
|
||||
<option value="成品">成品</option>
|
||||
<option value="电池">电池</option>
|
||||
<option value="外壳">外壳</option>
|
||||
<option value="外壳颜色">外壳颜色</option>
|
||||
<option value="包装">包装</option>
|
||||
<option value="半成品">半成品</option>
|
||||
<option value="配件">配件</option>
|
||||
<?php endif; ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group" id="productTypeGroup">
|
||||
<label id="productTypeLabel">产品类型 <span class="text-danger">*</span></label>
|
||||
<input type="text" name="product_type" id="productTypeInput" class="form-control" placeholder="如:电池、外壳,成品" required>
|
||||
</div>
|
||||
<div class="form-group" id="modelCodeGroup">
|
||||
<label>产品型号 <span class="text-danger">*</span></label>
|
||||
<input type="text" name="model_code" id="modelCodeInput" class="form-control" placeholder="如:T8" required>
|
||||
</div>
|
||||
<div class="form-group" id="colorGroup">
|
||||
<label>颜色</label>
|
||||
<input type="text" name="color" id="colorInput" class="form-control" placeholder="如:珍珠白、深空灰">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>产品说明</label>
|
||||
<textarea name="description" class="form-control" rows="3" placeholder="产品描述信息"></textarea>
|
||||
</div>
|
||||
<script>
|
||||
(function(){
|
||||
var $typeSel = $('#typeSelect');
|
||||
var $ptGroup = $('#productTypeGroup');
|
||||
var $ptLabel = $('#productTypeLabel');
|
||||
var $ptInput = $('#productTypeInput');
|
||||
var $modelCodeGroup = $('#modelCodeGroup');
|
||||
var $modelCodeInput = $('#modelCodeInput');
|
||||
var $colorGroup = $('#colorGroup');
|
||||
var $colorInput = $('#colorInput');
|
||||
|
||||
// 类型配置数据(从服务端传入)
|
||||
var typeConfigs = <?php echo json_encode($typeConfigs ?? [], JSON_UNESCAPED_UNICODE); ?>;
|
||||
|
||||
// 构建类型名→配置映射
|
||||
var typeConfigMap = {};
|
||||
if (Array.isArray(typeConfigs)) {
|
||||
typeConfigs.forEach(function(cfg) {
|
||||
typeConfigMap[cfg.type_name] = cfg;
|
||||
});
|
||||
}
|
||||
|
||||
function updateProductTypeField() {
|
||||
var t = $typeSel.val();
|
||||
var cfg = typeConfigMap[t] || {};
|
||||
|
||||
// 产品类型输入框(三态:hidden/readonly/editable)
|
||||
var ptState = cfg.product_type_state || 'editable';
|
||||
var field = cfg.product_type_field || 'product_type';
|
||||
// 当 product_type_field === 'color' 且颜色框可见时,
|
||||
// 隐藏产品类型输入框,避免与颜色输入框 name="color" 冲突
|
||||
var cState = cfg.color_state || 'editable';
|
||||
var hidePtForColor = (field === 'color' && cState !== 'hidden');
|
||||
if (ptState === 'hidden' || hidePtForColor) {
|
||||
$ptGroup.hide();
|
||||
$ptInput.removeAttr('required');
|
||||
} else {
|
||||
$ptGroup.show();
|
||||
var label = cfg.product_type_label || '产品类型';
|
||||
var placeholder = cfg.product_type_placeholder || '';
|
||||
if (!placeholder) {
|
||||
placeholder = '如:' + label;
|
||||
}
|
||||
$ptLabel.html(label + (ptState === 'editable' ? ' <span class="text-danger">*</span>' : ''));
|
||||
$ptInput.attr({name: field, placeholder: placeholder});
|
||||
if (ptState === 'readonly') {
|
||||
$ptInput.prop({readonly: true, required: false});
|
||||
} else {
|
||||
$ptInput.prop({readonly: false, required: true});
|
||||
}
|
||||
}
|
||||
|
||||
// 产品型号输入框(三态:hidden/readonly/editable)
|
||||
var mcState = cfg.model_code_state || 'editable';
|
||||
if (mcState === 'hidden') {
|
||||
$modelCodeGroup.hide();
|
||||
$modelCodeInput.removeAttr('required').val('');
|
||||
} else {
|
||||
$modelCodeGroup.show();
|
||||
if (mcState === 'readonly') {
|
||||
$modelCodeInput.prop({readonly: true, required: false});
|
||||
} else {
|
||||
$modelCodeInput.prop({readonly: false, required: true});
|
||||
}
|
||||
}
|
||||
|
||||
// 颜色输入框(三态:hidden/readonly/editable)
|
||||
var cState = cfg.color_state || 'editable';
|
||||
if (cState === 'hidden') {
|
||||
$colorGroup.hide();
|
||||
$colorInput.val('');
|
||||
} else {
|
||||
$colorGroup.show();
|
||||
if (cState === 'readonly') {
|
||||
$colorInput.prop('readonly', true);
|
||||
} else {
|
||||
$colorInput.prop('readonly', false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$typeSel.on('change', updateProductTypeField);
|
||||
updateProductTypeField();
|
||||
})();
|
||||
</script>
|
||||
</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/productModel" class="btn btn-default"><i class="fa fa-arrow-left"></i> 返回</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include APP_PATH . 'app/views/layouts/admin_footer.php'; ?>
|
||||
Reference in New Issue
Block a user