| xqd
@@ -0,0 +1,112 @@
|
|
|
+<?php
|
|
|
+/**
|
|
|
+ * 通话列表
|
|
|
+ * @author system
|
|
|
+ * @version 1.0
|
|
|
+ * @date 2018-12-18 16:38:51
|
|
|
+ *
|
|
|
+ */
|
|
|
+namespace App\Http\Controllers\Admin\Call;
|
|
|
+use App\Http\Controllers\Admin\Controller;
|
|
|
+use Illuminate\Http\Request;
|
|
|
+use App\Repositories\Base\Criteria\OrderBy;
|
|
|
+use App\Repositories\Call\Lists\Criteria\MultiWhere;
|
|
|
+use App\Repositories\Call\ListRepository;
|
|
|
+
|
|
|
+class ListController extends Controller
|
|
|
+{
|
|
|
+ private $repository;
|
|
|
+
|
|
|
+ public function __construct(ListRepository $repository) {
|
|
|
+ if(!$this->repository) $this->repository = $repository;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 列表页
|
|
|
+ */
|
|
|
+ function index(Request $request) {
|
|
|
+ $search['keyword'] = $request->input('keyword');
|
|
|
+ $query = $this->repository->pushCriteria(new MultiWhere($search));
|
|
|
+
|
|
|
+ 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('updated_at','DESC'));
|
|
|
+ }
|
|
|
+ $list = $query->paginate(16);
|
|
|
+ return view('admin.call.list.index',compact('list'));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加
|
|
|
+ */
|
|
|
+ public function create(Request $request)
|
|
|
+ {
|
|
|
+ if($request->method() == 'POST') {
|
|
|
+ return $this->_createSave();
|
|
|
+ }
|
|
|
+ return view('admin.call.list.edit');
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存修改
|
|
|
+ */
|
|
|
+ private function _createSave(){
|
|
|
+ $data = (array) request('data');
|
|
|
+ $id = $this->repository->create($data);
|
|
|
+ if($id) {
|
|
|
+ $url[] = array('url'=>U( 'Call/List/index'),'title'=>'返回列表');
|
|
|
+ $url[] = array('url'=>U( 'Call/List/create'),'title'=>'继续添加');
|
|
|
+ $this->showMessage('添加成功',$url);
|
|
|
+ }else{
|
|
|
+ $url[] = array('url'=>U( 'Call/List/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'));
|
|
|
+ return view('admin.call.list.edit',compact('data'));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存修改
|
|
|
+ */
|
|
|
+ private function _updateSave() {
|
|
|
+ $data = (array) request('data');
|
|
|
+ $ok = $this->repository->update(request('id'),$data);
|
|
|
+ if($ok) {
|
|
|
+ $url[] = array('url'=>U( 'Call/List/index'),'title'=>'返回列表');
|
|
|
+ return $this->showMessage('操作成功',urldecode(request('_referer')));
|
|
|
+ }else{
|
|
|
+ $url[] = array('url'=>U( 'Call/List/index'),'title'=>'返回列表');
|
|
|
+ return $this->showWarning('操作失败',$url);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public function view(Request $request) {
|
|
|
+ $data = $this->repository->find(request('id'));
|
|
|
+ return view('admin.call.list.view',compact('data'));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除
|
|
|
+ */
|
|
|
+ public function destroy(Request $request) {
|
|
|
+ $bool = $this->repository->destroy($request->get('id'));
|
|
|
+ if($bool) {
|
|
|
+ return $this->showMessage('操作成功');
|
|
|
+ }else{
|
|
|
+ return $this->showWarning("操作失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|