repository) { $this->repository = $repository; } } /** * @param Request $request * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ function index(Request $request) { $search['keyword'] = $request->input('keyword'); $query = $this->repository->pushCriteria(new CatWhere($search, 0, $this->getStoreId())); if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) { $query = $query->pushCriteria(new OrderBy($request['sort_field'], $request['sort_field_by'])); } else { $query = $query->pushCriteria(new OrderBy('sort', 'DESC')); } $list = $query->paginate(); foreach ($list as $key => $item) { //dump($item); $item->sonlist = AlbumCatModel::where([['parent_id',$item->id],['store_id',$this->getStoreId()]])->orderByDesc('sort')->get(); } return view('admin.album.cat.index', compact('list')); } /** * @param Request $request * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ function check(Request $request) { $request = $request->all(); $search['keyword'] = $request->input('keyword'); $orderby = array(); if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) { $orderby[$request['sort_field']] = $request['sort_field_by']; } $list = $this->repository->search($search, $orderby); return view('admin.album.cat.check', compact('list')); } /** * 添加 * */ public function create(Request $request) { if ($request->method() == 'POST') { return $this->_createSave(); } $cat = AlbumCatModel::where([['parent_id', 0],['store_id',$this->getStoreId()]])->get(); $data['parent_id'] = null; return view('admin.album.cat.edit', compact('data', 'cat')); } public function createFirst(Request $request) { if ($request->method() == 'POST') { return $this->_createFirst(); } return view('admin.album.cat.edit-first'); } /** * 保存修改 */ private function _createFirst() { $data = (array) request('data'); $ids = request('id'); $data['store_id'] = $this->getStoreId(); $data['parent_id'] = 0; $id = $this->repository->create($data); if ($ids == 0) { $url = U('Album/Cat/create'); } else { $url = U('Album/Cat/update', ['id' => $ids]); } if ($id) { $urls[] = array('url' => $url, 'title' => '返回'); $this->showMessage('添加成功', $urls); } else { $urls[] = array('url' => $url, 'title' => '返回列表'); return $this->showWarning('添加失败', $urls); } } /** * 保存修改 */ private function _createSave(){ $data = (array) request('data'); $data['store_id'] = $this->getStoreId(); if (!empty($data['pic_url'])) { $data['pic_url'] = $this->formatImgUrl($data['pic_url']); } $id = $this->repository->create($data); if ($id) { $url[] = array('url' => U('Album/Cat/index'), 'title' => '返回列表'); $url[] = array('url' => U('Album/Cat/create'), 'title' => '继续添加'); $this->showMessage('添加成功', $url); } else { $url[] = array('url' => U('Album/Cat/index'), 'title' => '返回列表'); return $this->showWarning('添加失败', $url); } } /** * * 修改 * * */ public function update(Request $request) { if ($request->method() == 'POST') { return $this->_updateSave(); } $data = $this->repository->find($request->get('id')); $cat = AlbumCatModel::where([['parent_id',0],['store_id',$this->getStoreId()]])->get(); return view('admin.album.cat.edit', compact('data', 'cat')); } public function updateFirst(Request $request) { if ($request->method() == 'POST') { return $this->_updateSave(); } $data = $this->repository->find($request->get('id')); return view('admin.album.cat.edit-first', compact('data')); } /** * 保存修改 */ private function _updateSave() { $data = (array) request('data'); if (!empty($data['pic_url'])) { $data['pic_url'] = $this->formatImgUrl($data['pic_url']); } $ok = $this->repository->update(request('id'), $data); if ($ok) { $url[] = array('url' => U('Album/Cat/index'), 'title' => '返回列表'); return $this->showMessage('操作成功', urldecode(request('_referer'))); } else { $url[] = array('url' => U('Album/Cat/index'), 'title' => '返回列表'); return $this->showWarning('操作失败', $url); } } public function view(Request $request) { $data = $this->repository->find(request('id')); return view('admin.album.cat.view', compact('data')); } /** * * 状态改变 * */ public function status(Request $request) { $ok = $this->repository->updateStatus(request('id'), request('status')); if ($ok) { return $this->showMessage('操作成功'); } else { return $this->showWarning('操作失败'); } } /** * 删除 */ public function destroy(Request $request) { $cat = AlbumCatModel::find($request->get('id')); $son_cat = AlbumCatModel::where('parent_id', $cat->id)->delete(); if ($son_cat) { $son_cat->delete(); } $ok = $cat->delete(); if ($ok) { return $this->showMessage('操作成功'); } else { return $this->showWarning("操作失败"); } } }