wesley 6 years ago
parent
commit
5d99a94fe2

+ 89 - 0
app/Http/Controllers/Admin/Company/CollectionController.php

xqd
@@ -0,0 +1,89 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: wesley
+ * Date: 2018/12/12
+ * Time: 上午9:48
+ */
+
+namespace App\Http\Controllers\Admin\Company;
+
+use App\Http\Controllers\Admin\Controller;
+use App\Models\CompanyInfoModel;
+use App\Models\UserCompanyCollectionModel;
+use App\Repositories\Company\InfoRepository;
+use Illuminate\Http\Request;
+
+class CollectionController extends Controller
+{
+
+    private $repository;
+
+    public function __construct(InfoRepository $repository)
+    {
+        if (!$this->repository) $this->repository = $repository;
+    }
+
+    /***
+     * 创建公海
+     * @param Request $request
+     * @return int
+     */
+    public function create(Request $request){
+        $filter_fields = $request->except('_token');
+
+        $data['user_id'] = \Auth::guard('admin')->user()->id;
+        $data['filter_fields'] = json_encode($filter_fields);
+        $data['name'] = '我的公海';
+
+        UserCompanyCollectionModel::create($data);
+
+        return 200;
+    }
+
+    /***
+     * 公海列表
+     * @param Request $request
+     * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View
+     * @throws \Throwable
+     */
+    public function index(Request $request){
+        if ($request->ajax()) {
+            $search = $request->all();
+
+            $order = array();
+            if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
+                $order[$request['sort_field']] = $request['sort_field_by'];
+            } else {
+                $order['id'] = 'DESC';
+            }
+
+            $list = $this->repository->searchCompany($search, $order);
+
+            $view = view('admin.company.collection.data', compact('list'))->render();
+            return response()->json(['html' => $view]);
+        }
+
+        $user_id = \Auth::guard('admin')->user()->id;
+        $collection = UserCompanyCollectionModel::where('user_id', $user_id)->first();
+
+        if (count($collection)) {
+            $search = (array)json_decode($collection->filter_fields);
+            $order = array();
+            if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
+                $order[$request['sort_field']] = $request['sort_field_by'];
+            } else {
+                $order['id'] = 'DESC';
+            }
+
+            $list = $this->repository->searchCompany($search, $order);
+
+            $fields = (new CompanyInfoModel())->filterFields;
+
+            return view('admin.company.collection.index', compact('list', 'fields'));
+        }else{
+            return '您暂未创建过公海!';
+        }
+
+    }
+}

+ 7 - 107
app/Http/Controllers/Admin/Company/InfoController.php

xqd xqd xqd xqd
@@ -12,7 +12,6 @@ namespace App\Http\Controllers\Admin\Company;
 use App\Http\Controllers\Admin\Controller;
 use App\Imports\CompanyInfoImport;
 use App\Models\CompanyInfoModel;
-use App\Models\UserCompanyCollectionModel;
 use Illuminate\Http\Request;
 use App\Repositories\Company\InfoRepository;
 use Maatwebsite\Excel\Facades\Excel;
@@ -28,7 +27,7 @@ class InfoController extends Controller
 
 
     /*
-     * 搜索页
+     * 搜索页视图
      * */
     public function search()
     {
@@ -64,68 +63,10 @@ class InfoController extends Controller
     }
 
     /***
-     * 创建公海
+     * 导入企业信息
      * @param Request $request
-     * @return int
      */
-    public function add_collection(Request $request)
-    {
-        $filter_fields = $request->except('_token');
-
-        $data['user_id'] = \Auth::guard('admin')->user()->id;
-        $data['filter_fields'] = json_encode($filter_fields);
-        $data['name'] = '我的公海';
-
-        UserCompanyCollectionModel::create($data);
-
-        return 200;
-    }
-
-
-    public function collection(Request $request)
-    {
-        if ($request->ajax()) {
-            $search = $request->all();
-
-            $order = array();
-            if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
-                $order[$request['sort_field']] = $request['sort_field_by'];
-            } else {
-                $order['id'] = 'DESC';
-            }
-
-            $list = $this->repository->searchCompany($search, $order);
-
-            $view = view('admin.company.collection.data', compact('list'))->render();
-            return response()->json(['html' => $view]);
-        }
-
-        $user_id = \Auth::guard('admin')->user()->id;
-        $collection = UserCompanyCollectionModel::where('user_id', $user_id)->first();
-
-        if (count($collection)) {
-            $search = (array)json_decode($collection->filter_fields);
-            $order = array();
-            if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
-                $order[$request['sort_field']] = $request['sort_field_by'];
-            } else {
-                $order['id'] = 'DESC';
-            }
-
-            $list = $this->repository->searchCompany($search, $order);
-
-            $fields = (new CompanyInfoModel())->filterFields;
-
-            return view('admin.company.collection.index', compact('list', 'fields'));
-        }
-
-    }
-
-
-    /**
-     * 添加
-     */
-    public function create(Request $request)
+    public function import(Request $request)
     {
         $res = Excel::import(new CompanyInfoImport, request()->file('company_info'));
 
@@ -133,52 +74,11 @@ class InfoController extends Controller
         $this->showMessage('导入成功', $url);
     }
 
-    /**
-     * 保存修改
-     */
-    private function _createSave()
-    {
-        $data = (array)request('data');
-        $id = $this->repository->create($data);
-        if ($id) {
-            $url[] = array('url' => U('Company/Info/index'), 'title' => '返回列表');
-            $url[] = array('url' => U('Company/Info/create'), 'title' => '继续添加');
-            $this->showMessage('添加成功', $url);
-        } else {
-            $url[] = array('url' => U('Company/Info/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.company.info.edit', compact('data'));
-    }
-
-    /**
-     * 保存修改
+    /***
+     * 企业详情页
+     * @param Request $request
+     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
      */
-    private function _updateSave()
-    {
-        $data = (array)request('data');
-        $ok = $this->repository->update(request('id'), $data);
-        if ($ok) {
-            $url[] = array('url' => U('Company/Info/index'), 'title' => '返回列表');
-            return $this->showMessage('操作成功', urldecode(request('_referer')));
-        } else {
-            $url[] = array('url' => U('Company/Info/index'), 'title' => '返回列表');
-            return $this->showWarning('操作失败', $url);
-
-        }
-    }
-
     public function view(Request $request)
     {
         $data = $this->repository->find(request('id'));

+ 15 - 15
resources/views/admin/company/collection/data.blade.php

xqd xqd
@@ -9,7 +9,7 @@
         <th class="sorting" data-sort="openStatus"> 经营状态</th>
         <th class="sorting" data-sort="startDate"> 成立日期</th>
         <th class="sorting" data-sort="regCapital"> 注册资本(万元)</th>
-        <th width="22%">相关操作</th>
+        {{--<th width="22%">相关操作</th>--}}
     </tr>
     </thead>
     <tbody>
@@ -20,25 +20,25 @@
             <tr>
 
                 <td>{{ $item->id }}</td>
-                <td>{{ $item->companyName }}</td>
+                <td><a href="{{ U('Company/Info/view',['id'=>$item->id])}}">{{ $item->companyName }}</a></td>
                 <td>{{ $item->orgNo }}</td>
                 <td>{{ $item->legalPerson }}</td>
                 <td>{{ $item->openStatus }}</td>
                 <td>{{ $item->startDate }}</td>
                 <td>{{ $item->regCapital }}</td>
-                <td>
-                    @if(role('Company/Info/update') && !$item->isThread())
-                    <button class="btn btn-sm btn-success"
-                    onclick="window.location.href='{{ U('User/Threads/create',['company_id'=>$item->id])}}' ">
-                    领取线索
-                    </button>
-                    @endif
-
-                    @if(role('Company/Info/view'))
-                        <a href="{{ U('Company/Info/view',['id'=>$item->id])}}"
-                           class="btn btn-sm btn-primary "> 查看</a>
-                    @endif
-                </td>
+                {{--<td>--}}
+                    {{--@if(role('Company/Info/update') && !$item->isThread())--}}
+                        {{--<button class="btn btn-sm btn-success"--}}
+                                {{--onclick="window.location.href='{{ U('User/Threads/create',['company_id'=>$item->id])}}' ">--}}
+                            {{--领取线索--}}
+                        {{--</button>--}}
+                    {{--@endif--}}
+
+                    {{--@if(role('Company/Info/view'))--}}
+                        {{--<a href="{{ U('Company/Info/view',['id'=>$item->id])}}"--}}
+                           {{--class="btn btn-sm btn-primary "> 查看</a>--}}
+                    {{--@endif--}}
+                {{--</td>--}}
             </tr>
         @endforeach
     @endif

+ 4 - 4
resources/views/admin/company/collection/index.blade.php

xqd
@@ -46,10 +46,10 @@
                             </div>
 
                             {{--@if(role('Company/Info/collection'))--}}
-                                {{--<div class="col-sm-8 pull-right">--}}
-                                    {{--<span class="btn btn-warning pull-right" onclick="save_collection()">保存为我的公海--}}
-                                    {{--</span>--}}
-                                {{--</div>--}}
+                            {{--<div class="col-sm-8 pull-right">--}}
+                            {{--<span class="btn btn-warning pull-right" onclick="save_collection()">保存为我的公海--}}
+                            {{--</span>--}}
+                            {{--</div>--}}
                             {{--@endif--}}
 
                         </div>

+ 23 - 15
resources/views/admin/company/info/index.blade.php

xqd xqd xqd xqd xqd
@@ -50,21 +50,29 @@
 
                             </div>
 
-                            @if(role('Company/Info/collection'))
-                                <div class="col-sm-8 pull-right">
+
+                            <div class="col-sm-8 pull-right">
+                                @if(role('Company/Collection/create'))
                                     <span class="btn btn-sm btn-warning pull-right" onclick="save_collection()">保存为我的公海
                                     </span>
+                                @endif
 
-                                    <form class="form-horizontal" role="form" method="post" enctype="multipart/form-data" action="{{ U('Company/Info/create')}}">
+                                @if(role('Company/Info/import'))
+                                    <form class="form-horizontal" role="form" method="post"
+                                          enctype="multipart/form-data"
+                                          action="{{ U('Company/Info/import')}}">
                                         {{csrf_field()}}
-                                        <button class="btn btn-sm btn-primary pull-right company-import" style="margin-right: 5px;display: none" type="submit">
+                                        <button class="btn btn-sm btn-primary pull-right company-import"
+                                                style="margin-right: 5px;display: none" type="submit">
                                             Excel导入
                                         </button>
-                                        <input id="company-import" name="company_info" type="file"  class="pull-right" data-show-preview="false" data-language="zh">
+                                        <input id="company-import" name="company_info" type="file" class="pull-right"
+                                               data-show-preview="false" data-language="zh">
                                     </form>
+                                @endif
+
+                            </div>
 
-                                </div>
-                            @endif
 
                         </div>
                     </div>
@@ -161,7 +169,7 @@
     <script type="text/javascript">
         /*对字段进行过滤*/
         function filter_company() {
-            data = $('#filter_company').serialize()
+            data = $('#filter_company').serialize();
             $.ajax({
                 type: 'get',
                 data: data,
@@ -172,9 +180,9 @@
 
         /*保存公海*/
         function save_collection() {
-            data = $('#filter_company').serialize()
+            data = $('#filter_company').serialize();
             $.ajax({
-                url: '{{ U('Company/Info/add_collection') }}',
+                url: '{{ U('Company/Collection/create') }}',
                 type: 'post',
                 data: data,
                 success: function (data) {
@@ -190,7 +198,7 @@
         $('body').on('click', '.pagination a', function (e) {
             e.preventDefault();
             if ($(this).attr('href') != '#') {
-                data = $('#filter_company').serialize()
+                data = $('#filter_company').serialize();
                 $.ajax({
                     url: $(this).attr('href'),
                     type: 'get',
@@ -202,11 +210,11 @@
 
         });
 
-        $('body').on('change','#company-import',function (e) {
-            file = $('#company-import').val()
-            if(file){
+        $('body').on('change', '#company-import', function (e) {
+            file = $('#company-import').val();
+            if (file) {
                 $('.company-import').show()
-            }else {
+            } else {
                 $('.company-import').hide()
             }
         })