| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- <?php
- namespace backend\modules\admin\controllers;
- use backend\controllers\AdminController;
- use common\models\backend\Menu;
- use common\enums\AppEnum;
- use common\enums\StatusEnum;
- use common\models\rbac\AuthItem;
- use Yii;
- /**
- * 商城控制器
- *
- * @Author bing
- * @DateTime 2021-08-13 15:29:41
- * @copyright: Copyright (c) 2020 广东七件事集团
- */
- class MenuController extends AdminController
- {
- public $appId = AppEnum::BACKEND;
- /**
- * @param null $keyword
- * @param int $is_recycle
- * @return mixed|string|void
- */
- public function actionIndex()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- $cate_id = Yii::$app->request->get('cate_id', '1');
- $pid = Yii::$app->request->get('pid', 0);
- $cond = [['pid' => $pid], ['<>','status',StatusEnum::DELETE]];
- $cond[] = ['is_addon' => 0, 'cate_id' => $cate_id];
- $menus = Menu::getMenus($cond, ['child'], true);
- return $this->success('操作成功',compact('menus'));
- }
- return $this->render($this->action->id);
- }
- public function actionAddon()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- $pid = Yii::$app->request->get('pid', 0);
- $cond = [['pid' => $pid], ['<>','status',StatusEnum::DELETE]];
- $cond[] = ['is_addon' => 1];
- $menus = Menu::getMenus($cond, ['child'], true);
- return $this->success('操作成功',compact('menus'));
- }
- return $this->render($this->action->id);
- }
- /**
- * 编辑
- * @param null $keyword
- * @param int $is_recycle
- * @return mixed|void
- */
- public function actionEdit()
- {
- try {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $id = Yii::$app->request->get('id', '');
- $type = Yii::$app->request->get('type', 'add');
- $data = Menu::getEditData($id, $type);
- return $this->success('操作成功',$data);
- }
- }
- } catch (\Exception $e) {
- return $this->error($e->getMessage(), []);
- }
- try {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isPost) {
- $params = Yii::$app->request->post();
- $res = Yii::$app->services->validate->validate($params, [
- [['cate_id', 'title'], 'required'],
- [['id', 'cate_id', 'url', 'is_addon', 'icon', 'pid', 'dev', 'sort', 'status', 'created_at', 'updated_at'], 'safe'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $params['app_id'] = $this->appId;
- $res = Menu::createMenu($params);
- if ($res === false) return $this->error(Menu::getStaticError());
- return $this->success('操作成功');
- }
- }
- } catch (\Exception $e) {
- return $this->error($e->getMessage(), []);
- }
- }
- /**
- * 添加
- * @param null $keyword
- * @param int $is_recycle
- * @return mixed|void
- */
- public function actionAdd()
- {
- try {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $id = Yii::$app->request->get('id', '');
- $type = Yii::$app->request->get('type', 'add');
- $data = Menu::getEditData($id, $type);
- return $this->success('操作成功',$data);
- }
- }
- } catch (\Exception $e) {
- return $this->error($e->getMessage(), []);
- }
- try {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isPost) {
- $params = Yii::$app->request->post();
- $res = Yii::$app->services->validate->validate($params, [
- [['cate_id', 'title'], 'required'],
- [['id', 'cate_id', 'url', 'is_addon', 'icon', 'pid', 'dev', 'sort', 'status', 'created_at', 'updated_at'], 'safe'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $params['app_id'] = $this->appId;
- $res = Menu::createMenu($params);
- if ($res === false) return $this->error(Menu::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', '');
- $res = Menu::delMenu($id, StatusEnum::DELETE);
- if ($res === false) return $this->error(Menu::getStaticError());
- return $this->success('操作成功');
- }
- }
- }
- /**
- * 更新状态
- * @param null $keyword
- * @param int $is_recycle
- * @return mixed|void
- */
- public function actionUpdateStatus()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $id = Yii::$app->request->get('id', '');
- $status = Yii::$app->request->get('status', 0);
- $res = Menu::delMenu($id, $status);
- if ($res === false) return $this->error(Menu::getStaticError());
- return $this->success('操作成功');
- }
- }
- }
- /**
- * 更新序号
- * @return mixed|void
- */
- public function actionUpdateSort()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $id = Yii::$app->request->get('id', '');
- $sort = Yii::$app->request->get('sort', '999');
- $params = ['id'=>$id,'sort'=>$sort];
- $res = Menu::setData($params);
- if($res === false) return $this->error(Menu::getStaticError());
- return $this->success('ok');
- }
- }
- }
- }
|