<?php
namespace app\admin\controller;
use app\base\controller\AdminBase;use app\admin\model\AuthGroup as AG;
class AuthGroup extends AdminBase
{
public function index()
{
$list['webtitle'] = '角色列表';
$list['dataurl'] = '/admin/authgroup/data';
$list['status'] = '/admin/authgroup/status';
$this->view->assign('list', $list);
return $this->view->fetch();
}
public function ajaxData()
{
$src = $this->request
->only([
'page' => '1'
,'limit' => '10'
,'field' => 'id'
,'order' => 'asc'
,'searchval' => ''
], 'POST');
$ag = new AG;
$data = $ag->search($src);
$data = reSetObject($data, $src);
return json($data);
}
public function create()
{
$list['set'] = array(
'webtitle' => '添加角色'
,'butname' => '添加'
,'formpost' => 'POST'
,'url' => 'save'
);
$rule = new \app\admin\model\AuthRule;
$src['status'] = 1;
$ruleList = $rule->search($src);
$ruleSelect = array();
$auth = $rule->digui($ruleList, $ruleSelect); # 递归获取所有权限
$list['auth'] = $auth;
$this->view->assign('list', $list);
return $this->view->fetch();
}
public function save()
{
$list = request()->only([
'title'
,'rules'
,'miaoshu'
], 'POST');
$list['rules'] = implode(",", $list['rules']);
$validate = new \app\admin\validate\RuleGroup;
$result = $validate->check($list);
$msg = $validate->getError();
if(!$result){
return json(['msg' => $msg, 'val' => 0]);;
}
$data = AG::create($list);
$data ? $data = ['msg' => '添加成功', 'val' => 1]
: $data = ['msg' => '数据处理错误', 'val' => 0];
return json($data);
}
public function edit($id)
{
$list['set'] = array(
'webtitle' => '编辑角色'
,'butname' => '修改'
,'formpost' => 'PUT'
,'url' => '/admin/authgroup/update/' . $id
);
$rule = new \app\admin\model\AuthRule;
$src['status'] = 1;
$ruleList = $rule->search($src);
$aglist = AG::where('id', $id)
->field('id, title, miaoshu, rules')
->find();
$ruleSelect = explode(",", $aglist->rules);
$a = array_search(1, $ruleSelect);
$auth = $rule->digui($ruleList, $ruleSelect, 0);
$list['auth'] = $auth;
$list['data'] =[
'title' => $aglist->title
,'miaoshu' => $aglist->miaoshu
,'id' => $aglist->id
];
$this->view->assign('list', $list);
return $this->view->fetch('create');
}
public function update($id)
{
$list = request()->only([
'title'
,'rules'
,'miaoshu'
], 'PUT');
$list['id'] = $id;
$list['rules'] = implode(",", $list['rules']);
$validate = new \app\admin\validate\RuleGroup;
$result = $validate->check($list);
$msg = $validate->getError();
if(!$result){
return json(['msg' => $msg, 'val' => 0]);;
}
$data = AG::where('id', $id)->update($list);
$data >= 0 ? $data = ['msg' => '更新成功', 'val' => 1]
: $data = ['msg' => '数据处理错误', 'val' => 0];
return json($data);
}
public function delete($id)
{
$id = request()->delete('id');
$id = explode(',', $id);
$data = AG::destroy($id);
$data ? $data = ['msg' => '删除成功', 'val' => 1]
: $data = ['msg' => '数据处理错误', 'val' => 0];
return json($data);
}
public function setStatus()
{
$id = request()->post('id');
$value = request()->post('value');
$data= AG::where('id', $id)->update(['status' => $value]);
$data ? $data = ['msg' => '状态设置成功', 'val' => 1]
: $data = ['msg' => '数据处理错误', 'val' => 0];
return json($data);
}
}