初始化仓库
This commit is contained in:
64
admin/controllers/system/RoleController.php
Normal file
64
admin/controllers/system/RoleController.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
namespace admin\controllers\system;
|
||||
use common\core\BaseAdminController;
|
||||
use admin\models\Menu;
|
||||
use common\enums\StatusEnum;
|
||||
use common\helpers\ArrayHelper;
|
||||
use common\models\Role;
|
||||
use common\modelsgii\RoleMenu;
|
||||
|
||||
class RoleController extends BaseAdminController {
|
||||
|
||||
public $modelClass = Role::class;
|
||||
|
||||
public function actionList()
|
||||
{
|
||||
$roles = Role::find()->asArray()->all();
|
||||
return $roles;
|
||||
}
|
||||
public function actionSaveUserMenu(){
|
||||
$params = $this->requestValidate($this->post(),[
|
||||
['role_id','required'],
|
||||
['role_id','integer'],
|
||||
['ids','required']
|
||||
]);
|
||||
if(is_array($params->ids)){
|
||||
$insert = [];
|
||||
foreach ($params->ids as $id){
|
||||
$insert[] = [
|
||||
'role_id'=>$params->role_id,
|
||||
'menuUrl'=>$id,
|
||||
'created_at'=>time(),
|
||||
'updated_at'=>time()
|
||||
];
|
||||
}
|
||||
RoleMenu::deleteAll(['role_id'=>$params->role_id]);
|
||||
RoleMenu::getDb()->createCommand()->batchInsert(RoleMenu::tableName(),array_keys($insert[0]),$insert)->execute();
|
||||
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
public function actionMenuByRoleId(){
|
||||
$params = $this->requestValidate($this->post(),[
|
||||
['roleId','required'],
|
||||
]);
|
||||
$roleMenus = RoleMenu::findAll(['role_id' => $params->roleId]);
|
||||
$keys = ArrayHelper::getColumn($roleMenus,'menuUrl');
|
||||
$menus = Menu::find()->asArray()->all();
|
||||
return[
|
||||
'menus'=>ArrayHelper::itemsMerge($menus,0,'menuUrl','parentPath','children'),
|
||||
'checked'=>$keys
|
||||
];
|
||||
|
||||
|
||||
}
|
||||
public function actionDel(){
|
||||
$menuUrl = $this->post('menuUrl');
|
||||
$model = Menu::findOne($menuUrl);
|
||||
if($model->delete()){
|
||||
Menu::updateAll(['parentPath'=>''],['parentPath'=>$menuUrl]);
|
||||
}
|
||||
return [];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user