123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- namespace addons\exam\controller;
- use addons\exam\enum\CateKind;
- use app\admin\model\exam\CateModel;
- /**
- * 分类接口
- */
- class Cate extends Base
- {
- protected $noNeedLogin = ['*'];
- protected $noNeedRight = ['*'];
- /**
- * 按种类查询分类
- */
- public function index()
- {
- if (!$kind = input('kind/s')) {
- fail('缺少分类种类参数');
- }
- $model = new CateModel();
- $data['level1'] = $model->where('status', '1')->where('kind', $kind)->where('level', 1)->order('sort desc')->select();
- $data['level2'] = $model->where('status', '1')->where('kind', $kind)->where('level', 2)->order('sort desc')->select();
- $data['level3'] = $model->where('status', '1')->where('kind', $kind)->where('level', 3)->order('sort desc')->select();
- $this->success('', $data);
- }
- /**
- * 3级分类筛选
- */
- public function filter()
- {
- $kind = input('kind/s');
- if (!$kind || !in_array($kind, [CateKind::PAPER, CateKind::QUESTION, CateKind::ROOM])) {
- fail('筛选参数错误');
- }
- $submenu = [];
- switch ($kind) {
- case CateKind::QUESTION:
- case CateKind::PAPER:
- $submenu = [
- [
- 'name' => '默认排序',
- 'value' => '',
- ],
- [
- 'name' => '按参与人数从低到高',
- 'value' => "join_count|asc",
- ],
- [
- 'name' => '按参与人数从高到低',
- 'value' => "join_count|desc",
- ],
- ];
- break;
- case CateKind::ROOM:
- $submenu = [
- [
- 'name' => '默认排序',
- 'value' => '',
- ],
- [
- 'name' => '按报考人数从低到高',
- 'value' => "signup_count|asc",
- ],
- [
- 'name' => '按报考人数从高到低',
- 'value' => "signup_count|desc",
- ],
- [
- 'name' => '按考试人数从低到高',
- 'value' => "grade_count|asc",
- ],
- [
- 'name' => '按考试人数从高到低',
- 'value' => "grade_count|desc",
- ],
- [
- 'name' => '按及格人数从低到高',
- 'value' => "pass_count|asc",
- ],
- [
- 'name' => '按及格人数从高到低',
- 'value' => "pass_count|desc",
- ],
- ];
- break;
- }
- $filter = [
- [
- 'name' => '筛选分类',
- 'type' => 'hierarchy',
- 'submenu' => CateModel::threeLevel($kind)
- ],
- [
- 'name' => '排序',
- 'type' => 'hierarchy',
- 'submenu' => $submenu
- ]
- ];
- $this->success('', $filter);
- }
- /**
- * 3级分类获取
- */
- public function getThree()
- {
- $kind = input('kind/s');
- if (!$kind || !in_array($kind, [CateKind::PAPER, CateKind::QUESTION, CateKind::ROOM])) {
- fail('筛选参数错误');
- }
- $cates = CateModel::threeLevel2($kind);
- $this->success('', $cates);
- }
- }
|