request; if ($request->isAjax) { $pid = Yii::$app->request->get('pid', 0); $cond = [ ['mall_id' => 0], ['pid' => $pid], ['app_id' => AppEnum::BACKEND], ['status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]] ]; $list = AuthRole::getRole($cond, ['child'], true); return $this->success('操作成功', compact('list')); } return $this->render($this->action->id); } /** * 编辑 * @param null $keyword * @param int $is_recycle * @return mixed|void */ public function actionEdit() { $request = Yii::$app->request; if ($request->isAjax) { try { if ($request->isGet) { $params = $request->get(); $params['app_id'] = $this->appId; $params['id'] = empty($params['id'])?'':$params['id']; $params['route'] = empty($params['route'])?'':$params['route']; $params['mall_id'] = 0; $data = AuthRole::getEditData($params); $where = [['app_id'=>$params['app_id']],['cate_id'=>AppEnum::PLATFORM], ['is_addon'=>0],['status' => [StatusEnum::ENABLED]]]; $data['item_list1'] = AuthItem::getItemListTree($where,$params['route']); $where = [['app_id'=>$params['app_id']],['cate_id'=>AppEnum::MALL], ['is_addon'=>0],['status' => [StatusEnum::ENABLED]]]; $data['item_list2'] = AuthItem::getItemListTree($where,$params['route']); $where = [['app_id'=>$params['app_id']], ['is_addon'=>1],['status' => [StatusEnum::ENABLED]]]; $data['item_list3'] = AuthItem::getItemListTree($where,$params['route']); return $this->success('操作成功', $data); } } catch (\Exception $e) { return $this->error($e->getMessage(), []); } try { if ($request->isPost) { $params = Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($params, [ [['title'], 'trim'], [['title'], 'required'], // [['title'], 'isUniquTitle'], [['id', 'item_ids', 'merchant_id', 'pid', 'is_default', 'sort', 'status', 'app_id', 'created_at', 'updated_at'], 'safe'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $params['app_id'] = $this->appId; $params['mall_id'] = 0; $res = AuthRole::setData($params); if ($res === false) return $this->error(AuthItem::getStaticError()); return $this->success('操作成功'); } } catch (\Exception $e) { return $this->error($e->getMessage(), []); } } } /** * 删除 * @param null $keyword * @param int $is_recycle * @return mixed|void */ public function actionDel() { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isGet) { $id = Yii::$app->request->get('id', ''); if(AuthRole::findOne(['pid'=>$id,'status'=>[StatusEnum::ENABLED,StatusEnum::DISABLED]])){ return $this->error('关联了下级不允许删除'); } if(AdminRole::findOne(['role_id'=>$id])) return $this->error('关联了账号不允许删除'); $res = AuthRole::updateRole(['id' => $id, 'mall_id' => 0, 'status' => StatusEnum::DELETE]); if ($res === false) return $this->error(AuthItem::getStaticError()); return $this->success('操作成功'); } } } }