<?php
|
|
namespace app\operations\controller\auth;
|
|
use app\operations\controller\Controller;
|
|
use app\operations\model\auth\Role as RoleModel;
|
use app\operations\model\shop\Access as AccessModel;
|
use app\operations\model\auth\User as AuthUserModel;
|
use app\operations\model\app\App as AppModel;
|
use app\admin\model\RoleAccess as RoleAccessModel;
|
use app\operations\model\shop\AccessUp as RoleAccessUpModel;
|
use app\operations\model\supplier\Area as AreaModel;
|
|
/**
|
* 管理后台角色
|
*/
|
class Role extends Controller
|
{
|
/**
|
* 角色列表
|
*/
|
public function index()
|
{
|
$model = new RoleModel();
|
$list = $model->getTreeData();
|
return $this->renderSuccess('', compact('list'));
|
}
|
|
/**
|
* 新增get数据
|
*/
|
public function addInfo()
|
{
|
$user = $this->store['user'];
|
$user_info = (new AuthUserModel())->find($user['operations_user_id']);
|
|
//获取总后台给的权限
|
$store = AppModel::detail($user_info["app_id"]);
|
$access_ids = [];
|
if(!empty($store["application_id"])){
|
$access_ids = RoleAccessModel::getAccessIds($store["application_id"]);
|
}
|
//获取升级的功能
|
$up_access_ids = (new RoleAccessUpModel())->getAccessIds($user_info["app_id"]);
|
if(!empty($up_access_ids)) {
|
$access_ids = array_merge($access_ids, $up_access_ids);
|
}
|
|
$menu = (new AccessModel())->getList($access_ids);
|
$model = new RoleModel();
|
// 角色列表
|
$roleList = $model->getTreeData();
|
// 区域列表
|
$areaList = AreaModel::getALL();
|
return $this->renderSuccess('', compact('menu', 'roleList',"areaList"));
|
}
|
|
/**
|
* 新增
|
*/
|
public function add()
|
{
|
if($this->request->isGet()){
|
return $this->addInfo();
|
}
|
$data = json_decode($this->postData()['params'], true);
|
$model = new RoleModel();
|
if ($model->add($data)) {
|
return $this->renderSuccess('添加成功');
|
}
|
return $this->renderError($model->getError() ?:'添加失败');
|
}
|
|
/**
|
* 修改get数据
|
*/
|
public function editInfo($role_id)
|
{
|
$user = $this->store['user'];
|
$user_info = (new AuthUserModel())->find($user['operations_user_id']);
|
|
//获取总后台给的权限
|
$store = AppModel::detail($user_info["app_id"]);
|
$access_ids = [];
|
if(!empty($store["application_id"])){
|
$access_ids = RoleAccessModel::getAccessIds($store["application_id"]);
|
}
|
//获取升级的功能
|
$up_access_ids = (new RoleAccessUpModel())->getAccessIds($user_info["app_id"]);
|
if(!empty($up_access_ids)) {
|
$access_ids = array_merge($access_ids, $up_access_ids);
|
}
|
// print_r($user);exit;
|
$menu = (new AccessModel())->getList($access_ids);
|
$model = RoleModel::detail($role_id);
|
$select_menu = array_column($model->toArray()['access'], 'access_id');
|
// 角色列表
|
$roleList = $model->getTreeData();
|
// 区域列表
|
$areaList = AreaModel::getALL();
|
return $this->renderSuccess('', compact('model', 'roleList', 'menu', 'select_menu','areaList'));
|
}
|
|
/**
|
* 修改
|
*/
|
public function edit($role_id)
|
{
|
if($this->request->isGet()){
|
return $this->editInfo($role_id);
|
}
|
$data = json_decode($this->postData()['params'], true);
|
if (isset($data['access_id']) && count($data['access_id']) == 0) {
|
return $this->renderError('请选择权限');
|
}
|
|
$model = RoleModel::detail($role_id);
|
|
// 更新记录
|
if ($model->edit($data)) {
|
return $this->renderSuccess('更新成功');
|
}
|
return $this->renderError($model->getError() ?:'更新失败');
|
}
|
|
/**
|
* 删除
|
*/
|
public function delete($role_id)
|
{
|
$model = new RoleModel();
|
if($model->del($role_id)){
|
return $this->renderSuccess('删除成功');
|
}
|
return $this->renderError($model->getError() ?:'删除失败');
|
}
|
}
|