Pārlūkot izejas kodu

客户管理,财务,即时账单,下做出第四级菜单
客户管理,二级菜单的“财务”移为一级菜单成为“结算管理”

Zhouzhendong 5 gadi atpakaļ
vecāks
revīzija
92cbbec871

+ 8 - 8
app/Http/Controllers/CustomerController.php

@@ -295,18 +295,18 @@ class CustomerController extends Controller
 
     public function financeInstantBill(Request $request)
     {
-        if(!Gate::allows('客户管理-财务-即时账单')){ return redirect('denied');  }
+        if(!Gate::allows('结算管理-即时账单')){ return redirect('denied');  }
         $params = $request->input();
         $shops = app('ShopService')->getSelection();
         $customers = app('CustomerService')->getSelection();
         $owners = app('OwnerService')->getIntersectPermitting();
         $details = app('OwnerFeeDetailService')->paginate($params,["owner.customer","shop","processMethod","logistic","items"]);
-        return response()->view('customer.finance.instantBill',compact("details","params","shops","customers","owners"));
+        return response()->view('finance.instantBill',compact("details","params","shops","customers","owners"));
     }
 
     public function financeInstantBillExport(Request $request)
     {
-        if(!Gate::allows('客户管理-财务-即时账单')){ return redirect('denied');  }
+        if(!Gate::allows('结算管理-即时账单')){ return redirect('denied');  }
         $params = $request->input();
         if ($request->checkAllSign)unset($params['checkAllSign']);
         else $params = ["id"=>$request->data];
@@ -331,7 +331,7 @@ class CustomerController extends Controller
 
     public function financeBillConfirmation(Request $request)
     {
-        if(!Gate::allows('客户管理-财务-账单确认')){ return redirect('denied');  }
+        if(!Gate::allows('结算管理-账单确认')){ return redirect('denied');  }
         $params = $request->input();
         $ownerGroups = app('UserOwnerGroupService')->getSelection();
         $customers = app('CustomerService')->getSelection();
@@ -340,12 +340,12 @@ class CustomerController extends Controller
             /** @var Builder $query */
             $query->with(["customer","userOwnerGroup"]);
         }]);
-        return response()->view('customer.finance.billConfirmation',compact("params","owners","ownerGroups","customers","bills"));
+        return response()->view('finance.billConfirmation',compact("params","owners","ownerGroups","customers","bills"));
     }
 
     public function financeBillConfirmationExport(Request $request)
     {
-        if(!Gate::allows('客户管理-财务-账单确认')){ return redirect('denied');  }
+        if(!Gate::allows('结算管理-账单确认')){ return redirect('denied');  }
         $params = $request->input();
         if ($request->checkAllSign)unset($params['checkAllSign']);
         else $params = ["id"=>$request->data];
@@ -384,7 +384,7 @@ class CustomerController extends Controller
 
     public function updateBillReport(Request $request)
     {
-        if(!Gate::allows('客户管理-财务-账单确认-编辑')){ return ["success"=>false,'data'=>"无权操作!"];  }
+        if(!Gate::allows('结算管理-账单确认-编辑')){ return ["success"=>false,'data'=>"无权操作!"];  }
         if (!$request->confirm_fee || !is_numeric($request->confirm_fee) || $request->confirm_fee<0)return ["success"=>false,"data"=>"非法金额参数"];
         $date = date('Y-m-d H:i:s');
         app('OwnerBillReportService')->update(["id"=>$request->id],["confirm_fee"=>$request->confirm_fee,"difference"=>DB::raw($request->confirm_fee.'- initial_fee'),"updated_at"=>$date]);
@@ -394,7 +394,7 @@ class CustomerController extends Controller
 
     public function billConfirm(Request $request)
     {
-        if(!Gate::allows('客户管理-财务-账单确认-完结')){ return ["success"=>false,'data'=>"无权操作!"];  }
+        if(!Gate::allows('结算管理-账单确认-完结')){ return ["success"=>false,'data'=>"无权操作!"];  }
         if (!($request->id ?? false))return["success"=>false,"data"=>"非法参数"];
         app('OwnerBillReportService')->update(["id"=>$request->id],["confirmed"=>"是"]);
         LogService::log(__METHOD__,"客户管理-确认账单",json_encode($request->input()));

+ 63 - 0
database/migrations/2021_02_26_093335_add_authority_data_money.php

@@ -0,0 +1,63 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class AddAuthorityDataMoney extends Migration
+{
+     public $delAuthorities = [
+         '客户管理-财务-即时账单',
+         '客户管理-财务-账单确认',
+         '客户管理-财务-账单确认-编辑',
+         '客户管理-财务-账单确认-完结',
+     ];
+
+     public $addAuthorities = [
+         "结算管理",
+         "结算管理-即时账单",
+         "结算管理-账单确认",
+         "结算管理-账单确认-编辑",
+         "结算管理-账单确认-完结",
+     ];
+
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        foreach ($this->delAuthorities as $authority){
+            \App\Authority::query()->where("name",$authority)->delete();
+        }
+        foreach ($this->addAuthorities as $authority){
+            \App\Authority::query()->firstOrCreate([
+                "name"=>$authority
+            ],[
+                "name"=>$authority,
+                "alias_name"=>$authority
+            ]);
+        }
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        foreach ($this->addAuthorities as $authority){
+            \App\Authority::query()->where("name",$authority)->delete();
+        }
+        foreach ($this->delAuthorities as $authority){
+            \App\Authority::query()->firstOrCreate([
+                "name"=>$authority
+            ],[
+                "name"=>$authority,
+                "alias_name"=>$authority
+            ]);
+        }
+    }
+}

+ 0 - 18
resources/views/customer/finance/menu.blade.php

@@ -1,18 +0,0 @@
-<div id="nav2">
-    @component('customer.menu')
-    @endcomponent
-    <div class="container-fluid nav3">
-        <div class="card menu-third" >
-            <ul class="nav nav-pills">
-                @can('客户管理-财务-即时账单')
-                <li class="nav-item">
-                    <a target="customer/finance/instantBill" class="nav-link" href="{{url('customer/finance/instantBill')}}" :class="{active:isActive('instantBill',3)}">即时账单</a>
-                </li> @endcan
-                @can('客户管理-财务-账单确认')
-                <li class="nav-item">
-                    <a target="customer/finance/billConfirmation" class="nav-link" href="{{url('customer/finance/billConfirmation')}}" :class="{active:isActive('billConfirmation',3)}">账单确认</a>
-                </li> @endcan
-            </ul>
-        </div>
-    </div>
-</div>

+ 4 - 4
resources/views/customer/finance/billConfirmation.blade.php → resources/views/finance/billConfirmation.blade.php

@@ -2,7 +2,7 @@
 @section('title')账单确认-客户管理@endsection
 
 @section('content')
-    @component('customer.finance.menu')@endcomponent
+    @component('finance.menu')@endcomponent
     <div class="container-fluid d-none" id="container">
         <div id="form_div"></div>
         <div class="mt-1">
@@ -155,7 +155,7 @@
             },
             methods:{
                 billExport(isAll){
-                    let url = '{{url('customer/finance/billConfirmation/export')}}';
+                    let url = '{{url('finance/billConfirmation/export')}}';
                     let token='{{ csrf_token() }}';
                     excelExport(isAll,this.checkData,url,this.sum,token);
                 },
@@ -178,7 +178,7 @@
                         return;
                     }
                     window.tempTip.confirm("确定要更新账单确认金额为“"+confirm_fee+"”吗?",()=>{
-                        window.axios.post("{{url('customer/finance/updateBillReport')}}",{id:bill.id,confirm_fee:confirm_fee})
+                        window.axios.post("{{url('finance/updateBillReport')}}",{id:bill.id,confirm_fee:confirm_fee})
                             .then(res=>{
                                 if (res.data.success){
                                     bill.confirmFee = confirm_fee;
@@ -199,7 +199,7 @@
                 },
                 billConfirm(bill){
                     window.tempTip.confirm("确定要完结该账单吗?",()=>{
-                        window.axios.post("{{url('customer/finance/billConfirm')}}",{id:bill.id})
+                        window.axios.post("{{url('finance/billConfirm')}}",{id:bill.id})
                             .then(res=>{
                                 if (res.data.success){
                                     bill.confirmed = "是";

+ 6 - 6
resources/views/customer/finance/instantBill.blade.php → resources/views/finance/instantBill.blade.php

@@ -2,22 +2,22 @@
 @section('title')即时账单-客户管理@endsection
 
 @section('content')
-    @component('customer.finance.menu')@endcomponent
+    @component('finance.menu')@endcomponent
     <div class="container-fluid d-none" id="container">
         <div class="container-fluid nav3">
             <div class="card menu-third">
                 <ul class="nav nav-pills">
                     <li class="nav-item">
-                        <a target="customer/finance/instantBill" class="nav-link" href="{{url('customer/finance/instantBill')}}" :class="!thisType ? 'active' : ''">全部</a>
+                        <a target="customer/finance/instantBill" class="nav-link" href="{{url('finance/instantBill')}}" :class="!thisType ? 'active' : ''">全部</a>
                     </li>
                     <li class="nav-item">
-                        <a target="customer/finance/instantBill" class="nav-link" href="{{url('customer/finance/instantBill?type=发货')}}" :class="thisType=='发货' ? 'active' : ''">发货</a>
+                        <a target="customer/finance/instantBill" class="nav-link" href="{{url('finance/instantBill?type=发货')}}" :class="thisType=='发货' ? 'active' : ''">发货</a>
                     </li>
                     <li class="nav-item">
-                        <a target="customer/finance/instantBill" class="nav-link" href="{{url('customer/finance/instantBill?type=收货')}}" :class="thisType=='收货' ? 'active' : ''">收货</a>
+                        <a target="customer/finance/instantBill" class="nav-link" href="{{url('finance/instantBill?type=收货')}}" :class="thisType=='收货' ? 'active' : ''">收货</a>
                     </li>
                     <li class="nav-item">
-                        <a target="customer/finance/instantBill" class="nav-link" href="{{url('customer/finance/instantBill?type=增值服务')}}" :class="thisType=='增值服务' ? 'active' : ''">增值服务</a>
+                        <a target="customer/finance/instantBill" class="nav-link" href="{{url('finance/instantBill?type=增值服务')}}" :class="thisType=='增值服务' ? 'active' : ''">增值服务</a>
                     </li>
                 </ul>
             </div>
@@ -218,7 +218,7 @@
             },
             methods:{
                 billExport(isAll){
-                    let url = '{{url('customer/finance/instantBill/export')}}';
+                    let url = '{{url('finance/instantBill/export')}}';
                     let token='{{ csrf_token() }}';
                     //excelExport 定义在 js/queryForm/export.js
                     excelExport(isAll,this.checkData,url,this.sum,token);

+ 15 - 0
resources/views/finance/menu.blade.php

@@ -0,0 +1,15 @@
+<div class="container-fluid nav2" id="nav2">
+    <div class="card">
+        <ul class="nav nav-pills">
+            @can('结算管理-即时账单')
+            <li class="nav-item">
+                <a target="finance/instantBill" class="nav-link" href="{{url('finance/instantBill')}}" :class="{active:isActive('instantBill',2)}">即时账单</a>
+            </li>@endcan
+            @can('结算管理-即时账单')
+            <li class="nav-item">
+                <a target="finance/billConfirmation" class="nav-link" href="{{url('finance/billConfirmation')}}" :class="{active:isActive('billConfirmation',2)}">账单确认</a>
+            </li>@endcan
+        </ul>
+    </div>
+</div>
+

+ 5 - 0
resources/views/layouts/menu.blade.php

@@ -42,6 +42,11 @@
                                     :class="{active:isActive('customer',1)}">
                     <span class="fa fa-address-book-o" style="color: #72441b"></span>
                     客户管理</a></li> @endcan
+        @can('结算管理')
+            <li class="nav-item"><a href="{{url("finance/instantBill")}}" class="nav-link" target="customer/project/report"
+                                    :class="{active:isActive('finance',1)}">
+                    <span class="fa fa-money" style="color: #72441b"></span>
+                    结算管理</a></li> @endcan
         @can('人事管理')
             <li class="nav-item"><a href="{{url("personnel/laborReport")}}" class="nav-link" target="personnel/laborReport"
                                     :class="{active:isActive('personnel',1)}">

+ 14 - 12
routes/web.php

@@ -639,6 +639,20 @@ Route::group(['prefix'=>'order'],function(){
     Route::post('isRejectedBillExist','OrderController@isRejectedBillExist');
 });
 
+/** 结算 */
+Route::group(['prefix'=>'finance'],function(){
+    Route::group(['prefix'=>'instantBill'],function(){
+        Route::match(['GET','POST'],'export','CustomerController@financeInstantBillExport');
+    });
+    Route::get('instantBill','CustomerController@financeInstantBill');
+    Route::group(['prefix'=>'billConfirmation'],function(){
+        Route::match(['GET','POST'],'export','CustomerController@financeBillConfirmationExport');
+    });
+    Route::get('billConfirmation','CustomerController@financeBillConfirmation');
+    Route::post('updateBillReport','CustomerController@updateBillReport');
+    Route::post('billConfirm','CustomerController@billConfirm');
+});
+
 /** 客户 */
 Route::group(['prefix'=>'customer'],function(){
     /** 项目 */
@@ -669,18 +683,6 @@ Route::group(['prefix'=>'customer'],function(){
         Route::post("createReport","CustomerController@createReport");
         Route::post("createAreaReport","CustomerController@createAreaReport");
     });
-    Route::group(['prefix'=>'finance'],function(){
-        Route::group(['prefix'=>'instantBill'],function(){
-            Route::match(['GET','POST'],'export','CustomerController@financeInstantBillExport');
-        });
-        Route::get('instantBill','CustomerController@financeInstantBill');
-        Route::group(['prefix'=>'billConfirmation'],function(){
-            Route::match(['GET','POST'],'export','CustomerController@financeBillConfirmationExport');
-        });
-        Route::get('billConfirmation','CustomerController@financeBillConfirmation');
-        Route::post('updateBillReport','CustomerController@updateBillReport');
-        Route::post('billConfirm','CustomerController@billConfirm');
-    });
     Route::get('relating',function (){return view('customer.relating');});
     Route::group(['prefix' => 'customer'], function () {
         Route::get('customerLogStatus', 'CustomerLogStatusController@index');