48 lines
1.4 KiB
PHP
48 lines
1.4 KiB
PHP
|
|
<?php
|
|||
|
|
|
|||
|
|
namespace App\Http\Controllers\Api;
|
|||
|
|
|
|||
|
|
use App\BaseApp\BaseController;
|
|||
|
|
use App\Service\DepartmentService;
|
|||
|
|
use Exception;
|
|||
|
|
use Illuminate\Http\JsonResponse;
|
|||
|
|
|
|||
|
|
class DepartmentController extends BaseController
|
|||
|
|
{
|
|||
|
|
public function __construct()
|
|||
|
|
{
|
|||
|
|
parent::__construct();
|
|||
|
|
$this->service = DepartmentService::getInstance();
|
|||
|
|
// insertField / updateField 既是必填校验清单,也是入库字段白名单,漏写的字段不会被收进 params
|
|||
|
|
$this->insertField = ['name'];
|
|||
|
|
$this->updateField = ['id', 'name'];
|
|||
|
|
// 这几个允许缺省:pid 缺省为顶级,status 缺省为正常
|
|||
|
|
$this->notRequest = ['pid', 'desc', 'status', 'color'];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 部门树下拉(表单选上级部门用)
|
|||
|
|
* @Method GET
|
|||
|
|
*/
|
|||
|
|
public function treeOption(): JsonResponse
|
|||
|
|
{
|
|||
|
|
$isSelect = filter_var(request()->get('is_select', false), FILTER_VALIDATE_BOOLEAN);
|
|||
|
|
return jok($this->service->getTreeOption($isSelect), '列表获取成功');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 停用 / 启用部门
|
|||
|
|
* @Method POST
|
|||
|
|
* @throws Exception
|
|||
|
|
*/
|
|||
|
|
public function status(): JsonResponse
|
|||
|
|
{
|
|||
|
|
$id = request()->post('id');
|
|||
|
|
$status = request()->post('status');
|
|||
|
|
if (empty($id) || !in_array((string) $status, ['0', '1'], true)) {
|
|||
|
|
return jerr('参数错误');
|
|||
|
|
}
|
|||
|
|
return jok($this->service->status($id, $status), '操作成功');
|
|||
|
|
}
|
|||
|
|
}
|