'/admin/responsibility/institution', 'store' => '/admin/responsibility/institution/store', 'update' => '/admin/responsibility/institution/update/', 'destroy' => '/admin/responsibility/institution/destroy', 'show' => '/admin/responsibility/institution/show/', ]; protected array $templates = [ 'index' => 'responsibility/institution/index', 'store' => 'responsibility/institution/store', 'update' => 'responsibility/institution/store', 'destroy' => 'responsibility/institution/destroy', 'show' => 'responsibility/institution/show', ]; protected array $page = [ 'index' => [ 'title' => '规章制度管理', 'btn' => '新增制度', ], 'store' => [ 'title' => '新增规章制度', 'btn' => '新增', 'message' => '新增成功' ], 'update' => [ 'title' => '修改规章制度', 'btn' => '修改', 'message' => '修改成功' ], ]; protected array $search = [ [ 'type' => 'input', 'name' => 'id', 'title' => '制度编号', 'where' => '%s' ], [ 'type' => 'input', 'name' => 'name', 'title' => '制度名称', 'where' => ['name', 'like', '%%%s%%'] ], [ 'type' => 'select', 'name' => 'unit', 'data' => 'orgList', 'title' => '编制部门', 'where' => '%s' ], [ 'type' => 'date', 'name' => 'drawup', 'title' => '编制时间', 'where' => ['drawup', 'between', '%s'] ] ]; protected array $columns = [ [ 'name' => 'selection', 'width' => '80', ], [ 'name' => 'id', 'title' => '制度编号', 'type' => 'text', 'width' => '80', ], [ 'name' => 'type_info.name', 'title' => '制度分类', 'type' => 'text', 'width' => '150', ], [ 'name' => 'name', 'title' => '制度名称', 'type' => 'text', 'width' => '150', ], [ 'name' => 'org.name', 'title' => '编制部门', 'type' => 'text', ], [ 'name' => 'writer', 'title' => '编制人员', 'type' => 'text', ], [ 'name' => 'drawup', 'title' => '编制时间', 'type' => 'text', ], [ 'name' => 'updated_at', 'title' => '修改时间', 'type' => 'text', ], [ 'name' => 'operation', 'show' => true, 'edit' => true, 'del' => true, 'width' => '100', 'align' => 'center', 'fixed' => 'right', ] ]; public function __construct() { parent::__construct(); $this->model = new Institution(); View::assign([ 'columns' => $this->columns, 'uris' => $this->uris, 'search' => $this->search, 'orgList' => asTreeArray((new AdminOrg())->getAllList([['status', '=', 1]]), 'pid'), 'typeList' => (new InstitutionType())->getAllList([]), ]); } /** * 规章制度页面 * * @param Request $request * @return Response */ public function index(Request $request): Response { if ($request->isAjax()) { $param = $request->all(); $limit = $param['limit']; $where = []; foreach ($this->search as $search) { if (isset($param[$search['name']]) && !empty($param[$search['name']])) { if (is_array($search['where'])) { if (is_array($param[$search['name']])) { $search['where'][2] = $param[$search['name']]; } else { $search['where'][2] = sprintf($search['where'][2], $param[$search['name']]); } $where[$search['name']] = $search['where']; } else { $where[$search['name']] = sprintf($search['where'], $param[$search['name']]); } } } $list = $this->model->getPaginateList($where, ['*'], ['id' => 'desc'], ['org', 'typeInfo'], $limit); // var_dump($list); return sparKSuccess(dataReturn(0, 'success', $list)); } View::assign([ 'page' => $this->page['index'], ]); return view($this->templates['index']); } /** * 规章制度添加 * * @param Request $request * @return Response */ public function store(Request $request): Response { if ($request->isAjaxPost()) { $param = $request->post(); $this->model->create($param); return sparkSuccess(dataReturn(0, '添加成功')); } View::assign([ 'page' => $this->page['store'], ]); return view($this->templates['store']); } /** * 规则制度删除 * * @param Request $request * @return Response */ public function destroy(Request $request): Response { $ids = $request->get('ids'); $res = $this->model->delByIds($ids); return sparKSuccess(dataReturn(0, '删除成功')); } /** * 规则制度编辑 * * @param Request $request * @param $id * @return Response */ public function update(Request $request, $id): Response { if ($request->isAjaxPost()) { $data = $this->model->find($id); if (!$data) { return sparkSuccess(dataReturn(1, '数据不存在')); } $param = $request->post(); $data->fill($param)->save(); return sparkSuccess(dataReturn(0, '编辑成功')); } $data = $this->model->find($id); if (!$data) { return view('common/404')->withStatus(404); } View::assign([ 'page' => $this->page['update'], 'data' => $data, ]); return view($this->templates['update']); } /** * 规则制度详情 * * @param Request $request * @param $id * @return Response */ public function show(Request $request, $id): Response { $data = $this->model->where('id', $id)->with(['org', 'typeInfo'])->first(); if (!$data) { return view('common/404')->withStatus(404); } View::assign([ 'data' => $data ]); return view($this->templates['show']); } /** * 管理员列表 * @param Request $request * @return Response */ public function userList(Request $request): Response { $adminService = new AdminService(); $res = $adminService->getList($request->all()); return sparkSuccess($res); } }