modified 优化菜单权限配置

This commit is contained in:
zhaoxiang 2016-11-10 00:42:26 +08:00
parent b1fd6a1f56
commit 621fbc5a77
2 changed files with 128 additions and 51 deletions

View File

@ -22,14 +22,26 @@ class Menu extends Base {
'field' => 'url', 'field' => 'url',
'info' => '菜单URL' 'info' => '菜单URL'
], ],
[
'field' => 'type',
'info' => '菜单类型'
],
[ [
'field' => 'level', 'field' => 'level',
'info' => '等级' 'info' => '等级'
], ],
[
'field' => 'post',
'info' => 'Post'
],
[
'field' => 'get',
'info' => 'Get'
],
[
'field' => 'put',
'info' => 'Put'
],
[
'field' => 'delete',
'info' => 'Delete'
],
[ [
'field' => 'hide', 'field' => 'hide',
'info' => '隐藏' 'info' => '隐藏'
@ -98,21 +110,60 @@ class Menu extends Base {
] ]
] ]
], ],
'type' => [ 'post' => [
'module' => 'label', 'module' => 'icon',
'rule' => [ 'rule' => [
[ [
'info' => '方法类功能', 'info' => '',
'class' => 'label label-info' 'class' => 'fa fa-close'
], ],
[ [
'info' => '模块类功能', 'info' => '',
'class' => 'label label-primary' 'class' => 'fa fa-check'
]
]
],
'get' => [
'module' => 'icon',
'rule' => [
[
'info' => '',
'class' => 'fa fa-close'
],
[
'info' => '',
'class' => 'fa fa-check'
]
]
],
'put' => [
'module' => 'icon',
'rule' => [
[
'info' => '',
'class' => 'fa fa-close'
],
[
'info' => '',
'class' => 'fa fa-check'
]
]
],
'delete' => [
'module' => 'icon',
'rule' => [
[
'info' => '',
'class' => 'fa fa-close'
],
[
'info' => '',
'class' => 'fa fa-check'
] ]
] ]
] ]
], ],
'data' => $data //这个数据应该是从数据库中查出来 'data' => $data
]; ];
$this->result($table, ReturnCode::GET_TEMPLATE_SUCCESS); $this->result($table, ReturnCode::GET_TEMPLATE_SUCCESS);
} }
@ -177,15 +228,29 @@ class Menu extends Base {
] ]
], ],
[ [
'module' => 'radio', 'module' => 'checkbox',
'description' => '', 'description' => '',
'info' => '菜单类型', 'info' => '访客权限',
'attr' => [ 'attr' => [
'name' => 'type', [
'value' => '', 'name' => 'auth[get]',
'options' => [ 'desc' => 'GET',
'模块类功能', 'value' => ''
'方法类功能' ],
[
'name' => 'auth[put]',
'desc' => 'PUT',
'value' => ''
],
[
'name' => 'auth[post]',
'desc' => 'POST',
'value' => ''
],
[
'name' => 'auth[delete]',
'desc' => 'DELETE',
'value' => ''
] ]
] ]
], ],
@ -202,19 +267,6 @@ class Menu extends Base {
] ]
] ]
], ],
[
'module' => 'radio',
'description' => '',
'info' => '是否推荐:「该配置只对模块类功能生效」',
'attr' => [
'name' => 'recommend',
'value' => '',
'options' => [
'普通模块',
'推荐模块'
]
]
],
[ [
'module' => 'text', 'module' => 'text',
'description' => '', 'description' => '',
@ -321,15 +373,29 @@ class Menu extends Base {
] ]
], ],
[ [
'module' => 'radio', 'module' => 'checkbox',
'description' => '', 'description' => '',
'info' => '菜单类型', 'info' => '访客权限',
'attr' => [ 'attr' => [
'name' => 'type', [
'value' => $detail['type'], 'name' => 'auth[get]',
'options' => [ 'desc' => 'GET',
'模块类功能', 'value' => ''
'方法类功能' ],
[
'name' => 'auth[put]',
'desc' => 'PUT',
'value' => ''
],
[
'name' => 'auth[post]',
'desc' => 'POST',
'value' => ''
],
[
'name' => 'auth[delete]',
'desc' => 'DELETE',
'value' => ''
] ]
] ]
], ],
@ -346,19 +412,6 @@ class Menu extends Base {
] ]
] ]
], ],
[
'module' => 'radio',
'description' => '',
'info' => '是否推荐:「该配置只对模块类功能生效」',
'attr' => [
'name' => 'recommend',
'value' => $detail['recommend'],
'options' => [
'普通模块',
'推荐模块'
]
]
],
[ [
'module' => 'text', 'module' => 'text',
'description' => '', 'description' => '',

View File

@ -45,6 +45,9 @@
case 'hidden': case 'hidden':
formHtml += buildHidden(value); formHtml += buildHidden(value);
break; break;
case 'checkbox':
formHtml += buildCheckbox(value);
break;
} }
}); });
formHtml += '</div><div class="box-footer">'; formHtml += '</div><div class="box-footer">';
@ -53,6 +56,27 @@
return formHtml; return formHtml;
} }
function buildCheckbox( checkboxObj ) {
var formHtml = '<div>';
formHtml += '<div class="col-xs-8 form-group"><label>'+ checkboxObj.info +'</label>';
formHtml += '<div class="input-group radio">';
if( checkboxObj.attr ){
$.each(checkboxObj.attr, function (index, value) {
if( value.value ){
formHtml += '<input type="checkbox" checked name="'+ value.name +'"> '+ value.desc +' ';
}else{
formHtml += '<input type="checkbox" name="'+ value.name +'"> '+ value.desc +' ';
}
});
}
formHtml += '</div>';
if( checkboxObj.description ){
formHtml += ' <div class="col-xs-4 form-group" style="margin-top: 30px"><span class="label label-info">'+ checkboxObj.description +'</span></div>';
}
formHtml += '</div></div>';
return formHtml;
}
/** /**
* 创建文本框 * 创建文本框
* @param inputObj * @param inputObj