mirror of
https://gitee.com/apiadmin/ApiAdmin.git
synced 2025-04-23 18:00:17 +08:00
added 新增基础表单生成实现
This commit is contained in:
parent
68fee5803f
commit
b0a07f87fe
@ -121,9 +121,9 @@ class Menu extends Base {
|
||||
$form = [
|
||||
'tempType' => 'add',
|
||||
'formAttr' => [
|
||||
'target' => '',
|
||||
'formId' => '',
|
||||
'backUrl' => '',
|
||||
'target' => url('Menu/add'),
|
||||
'formId' => 'add-menu-form',
|
||||
'backUrl' => url('Menu/index'),
|
||||
],
|
||||
'formList' => [
|
||||
[
|
||||
@ -153,7 +153,10 @@ class Menu extends Base {
|
||||
'attr' => [
|
||||
'name' => 'level',
|
||||
'value' => '',
|
||||
'options' => []
|
||||
'options' => [
|
||||
'普通认证',
|
||||
'Log记录'
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
@ -163,7 +166,10 @@ class Menu extends Base {
|
||||
'attr' => [
|
||||
'name' => 'type',
|
||||
'value' => '',
|
||||
'options' => []
|
||||
'options' => [
|
||||
'模块类功能',
|
||||
'方法类功能'
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
@ -173,7 +179,10 @@ class Menu extends Base {
|
||||
'attr' => [
|
||||
'name' => 'hide',
|
||||
'value' => '',
|
||||
'options' => []
|
||||
'options' => [
|
||||
'显示菜单',
|
||||
'隐藏菜单',
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
@ -183,7 +192,10 @@ class Menu extends Base {
|
||||
'attr' => [
|
||||
'name' => 'recommend',
|
||||
'value' => '',
|
||||
'options' => []
|
||||
'options' => [
|
||||
'普通模块',
|
||||
'推荐模块'
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
|
@ -1,32 +1,78 @@
|
||||
{extend name="public/base" /}
|
||||
{block name="content"}
|
||||
<div class="box box-warning">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">General Elements</h3>
|
||||
<div class="box box-success">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">新增菜单</h3>
|
||||
</div>
|
||||
<form id="form-login">
|
||||
<div class="box-body">
|
||||
<div>
|
||||
<div class="col-xs-8 form-group">
|
||||
<label for="exampleInputEmail1">Email address</label>
|
||||
<input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email">
|
||||
</div>
|
||||
<div class="col-xs-4 form-group" style="margin-top: 30px">
|
||||
<span class="label label-info">Info</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<form role="form">
|
||||
<div class="form-group col-xs-8">
|
||||
<label>Text</label>
|
||||
<input type="text" class="form-control" placeholder="Enter ...">
|
||||
</div>
|
||||
<div class="form-group has-success col-xs-8">
|
||||
<label>Text</label>
|
||||
<input type="text" class="form-control" placeholder="Enter ...">
|
||||
</div>
|
||||
<!-- textarea -->
|
||||
<div class="form-group col-xs-8">
|
||||
<label>Textarea</label>
|
||||
<textarea class="form-control" rows="3" placeholder="Enter ..."></textarea>
|
||||
</div>
|
||||
<div class="form-group col-xs-8">
|
||||
<label>Textarea Disabled</label>
|
||||
<textarea class="form-control" rows="3" placeholder="Enter ..." disabled></textarea>
|
||||
</div>
|
||||
</form>
|
||||
<div>
|
||||
<div class="col-xs-8 form-group">
|
||||
<label for="exampleInputEmail1">Email address</label>
|
||||
<select class="form-control">
|
||||
<option>option 1</option>
|
||||
<option>option 2</option>
|
||||
<option>option 3</option>
|
||||
<option>option 4</option>
|
||||
<option>option 5</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-xs-4 form-group" style="margin-top: 30px">
|
||||
<span class="label label-info">Info</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="col-xs-8 form-group">
|
||||
<label for="exampleInputEmail1">Email address</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"><i class="fa fa-dollar"></i></span>
|
||||
<input type="text" class="form-control">
|
||||
<span class="input-group-addon"><i class="fa fa-ambulance"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-4 form-group" style="margin-top: 30px">
|
||||
<span class="label label-info">Info</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="form-group col-xs-8">
|
||||
<label for="exampleInputEmail1">Email address</label>
|
||||
<div class="input-group radio">
|
||||
<label>
|
||||
<input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked="">
|
||||
Option one is this and that—be sure to include why it's great
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked="">
|
||||
Option one is this and that—be sure to include why it's great
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked="">
|
||||
Option one is this and that—be sure to include why it's great
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-4 form-group" style="margin-top: 30px">
|
||||
<span class="label label-info">Info</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" target-form="form-login" class="btn btn-primary ajax-post">确认提交</button>
|
||||
<a class="btn btn-default refe" url="{:url('Menu/index')}" >放弃返回</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{/block}
|
||||
{block name="myScript"}
|
||||
|
||||
|
@ -99,15 +99,15 @@
|
||||
}
|
||||
}
|
||||
if( data.data.tempType == 'add' ){
|
||||
if( $.buildAddForm ){
|
||||
$('#content').html($.buildAddForm(data.data));
|
||||
$('#formBox').hide().fadeIn(800);
|
||||
}else{
|
||||
// if( $.buildAddForm ){
|
||||
// $('#content').html($.buildAddForm(data.data));
|
||||
// $('#formBox').hide().fadeIn(800);
|
||||
// }else{
|
||||
$.getScript(JS_PATH + '/template/form.js', function (){
|
||||
$('#content').html($.buildAddForm(data.data));
|
||||
$('#formBox').hide().fadeIn(800);
|
||||
});
|
||||
}
|
||||
// }
|
||||
}
|
||||
if( data.data.tempType == 'edit' ){
|
||||
if( $.buildEditForm ){
|
||||
|
@ -2,28 +2,132 @@
|
||||
* Created by 7d-vision on 2016/11/7.
|
||||
*/
|
||||
(function ($) {
|
||||
|
||||
$.buildForm = function ( formObj ) {
|
||||
var formHtml = '<div class="box" id="formBox"><div class="box-body">';
|
||||
|
||||
formHtml += '</div></div>';
|
||||
return formHtml;
|
||||
/**
|
||||
* 创建新增表单
|
||||
* @param formObj
|
||||
* @returns {string}
|
||||
*/
|
||||
$.buildAddForm = function ( formObj ) {
|
||||
return buildForm(formObj, 'box-success');
|
||||
};
|
||||
|
||||
/**
|
||||
* 创建编辑表单
|
||||
* @param formObj
|
||||
* @returns {string}
|
||||
*/
|
||||
$.buildEditForm = function ( formObj ) {
|
||||
return buildForm(formObj, 'box-warning');
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据规则创建表单
|
||||
* @param formObj 表单数据对象
|
||||
* @param boxType box样式
|
||||
* @returns {string}
|
||||
*/
|
||||
function buildForm( formObj, boxType ) {
|
||||
var formHtml = '<div class="box '+ boxType +'" id="formBox"><div class="box-body">';
|
||||
formHtml += '<div class="box-header with-border"><h3 class="box-title">新增菜单</h3></div>';
|
||||
formHtml += '<form id="'+ formObj.formAttr.formId +'" action="'+ formObj.formAttr.target +'"><div class="box-body">';
|
||||
$.each(formObj.formList, function (index, value) {
|
||||
switch (value.module){
|
||||
case 'text':
|
||||
formHtml += buildInput(value);
|
||||
break;
|
||||
case 'select':
|
||||
formHtml += buildSelect(value);
|
||||
break;
|
||||
case 'radio':
|
||||
formHtml += buildRadio(value);
|
||||
break;
|
||||
}
|
||||
});
|
||||
formHtml += '</div><div class="box-footer">';
|
||||
formHtml += '<button type="submit" target-form="'+ formObj.formAttr.formId +'" class="btn btn-primary ajax-post">确认提交</button>';
|
||||
formHtml += ' <a class="btn btn-default refresh" url="'+ formObj.formAttr.backUrl +'" >放弃返回</a></div></form></div></div>';
|
||||
return formHtml;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建文本框
|
||||
* @param inputObj
|
||||
* @returns {string}
|
||||
*/
|
||||
function buildInput( inputObj ) {
|
||||
var formHtml = '<div><div class="col-xs-8 form-group"><label>'+ inputObj.info +'</label>';
|
||||
var placeholder = '', value = '';
|
||||
if( inputObj.attr.placeholder && inputObj.attr.placeholder.length ){
|
||||
placeholder = 'placeholder="'+ inputObj.attr.placeholder +'"';
|
||||
}
|
||||
if( inputObj.attr.value && inputObj.attr.value.length ){
|
||||
value = 'value="'+ inputObj.attr.value +'"';
|
||||
}
|
||||
formHtml += '<input type="text" class="form-control" '+ placeholder +' '+ value +' name="'+ inputObj.attr.name +'"></div>';
|
||||
if( inputObj.description && inputObj.description.length ){
|
||||
formHtml += ' <div class="col-xs-4 form-group" style="margin-top: 30px"><span class="label label-info">'+ inputObj.description +'</span></div>';
|
||||
}
|
||||
formHtml += '</div>';
|
||||
return formHtml;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建单选框
|
||||
* @param radioObj
|
||||
* @returns {string}
|
||||
*/
|
||||
function buildRadio( radioObj ) {
|
||||
var formHtml = '<div>';
|
||||
formHtml += '<div class="col-xs-8 form-group"><label>'+ radioObj.info +'</label>';
|
||||
formHtml += '<div class="input-group radio">';
|
||||
if( radioObj.attr.options ){
|
||||
$.each(radioObj.attr.options, function (index, value) {
|
||||
if( index == radioObj.attr.value ){
|
||||
formHtml += '<label><input type="radio" checked name="'+ radioObj.attr.name +'" value="'+ index +'"> '+ value +'</label> ';
|
||||
}else{
|
||||
formHtml += '<label><input type="radio" name="'+ radioObj.attr.name +'" value="'+ index +'"> '+ value +'</label> ';
|
||||
}
|
||||
});
|
||||
}
|
||||
formHtml += '</div>';
|
||||
if( radioObj.description && radioObj.description.length ){
|
||||
formHtml += ' <div class="col-xs-4 form-group" style="margin-top: 30px"><span class="label label-info">'+ radioObj.description +'</span></div>';
|
||||
}
|
||||
formHtml += '</div></div>';
|
||||
return formHtml;
|
||||
}
|
||||
|
||||
function buildTextarea( textareaObj ) {
|
||||
|
||||
}
|
||||
|
||||
function buildButton( buttonObj ) {
|
||||
|
||||
}
|
||||
|
||||
function buildTextarea() {
|
||||
|
||||
}
|
||||
|
||||
function buildSelect() {
|
||||
|
||||
/**
|
||||
* 创建下拉菜单
|
||||
* @param selectObj
|
||||
* @returns {string}
|
||||
*/
|
||||
function buildSelect( selectObj ) {
|
||||
var formHtml = '<div>';
|
||||
formHtml += '<div class="col-xs-8 form-group"><label>'+ selectObj.info +'</label>';
|
||||
if( selectObj.attr.options ){
|
||||
formHtml += '<select class="form-control" name="'+ selectObj.attr.name +'">';
|
||||
formHtml += '<option>请选择</option>';
|
||||
$.each(selectObj.attr.options, function (index, value) {
|
||||
if( index == selectObj.attr.value ){
|
||||
formHtml += '<option value="'+ index +'" selected>'+ value +'</option>';
|
||||
}else{
|
||||
formHtml += '<option value="'+ index +'">'+ value +'</option>';
|
||||
}
|
||||
});
|
||||
}else{
|
||||
formHtml += '<select class="form-control" name="'+ selectObj.attr.name +'" disabled>';
|
||||
}
|
||||
formHtml += '</select></div>';
|
||||
if( selectObj.description && selectObj.description.length ){
|
||||
formHtml += ' <div class="col-xs-4 form-group" style="margin-top: 30px"><span class="label label-info">'+ selectObj.description +'</span></div>';
|
||||
}
|
||||
formHtml += '</div>';
|
||||
return formHtml;
|
||||
}
|
||||
|
||||
function buildEditors() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user