完善财务付款记录功能

This commit is contained in:
lilong@dgg.net 2021-03-30 10:21:31 +08:00
parent 01168c6dec
commit bccddbde82
8 changed files with 135 additions and 6 deletions

View File

@ -3,6 +3,7 @@
namespace App\Http\Controllers\Account;
use App\Http\Controllers\Controller;
use App\Models\Order;
use App\Models\OrderPay;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
@ -68,4 +69,18 @@ class PayController extends Controller
return View::make('account.pay.check',compact('model'));
}
public function show(Request $request)
{
$order = Order::query()->where('id',$request->input('order_id'))->first();
if ($request->ajax()){
$res = OrderPay::query()
->where('order_id',$order->id)
->orderByDesc('id')
->paginate($request->input('limit'));
return $this->success('ok',$res->items(),$res->total());
}
return View::make('account.pay.show',compact('order'));
}
}

View File

@ -29,7 +29,13 @@ class OrderController extends Controller
]);
$res = Order::query()
->where(function ($q) use($user){
return $q->where('frontend_user_id',$user->id)->orWhere('backend_user_id',$user->id);
if ($user->hasPermissionTo('order.order.list_all')) {
}elseif ($user->hasPermissionTo('order.order.list_department')) {
return $q->where('frontend_department_id',$user->department_id)->orWhere('backend_department_id',$user->department_id);
}else{
return $q->where('frontend_user_id',$user->department_id)->orWhere('backend_user_id',$user->department_id);
}
})
//订单号
->when($data['num'], function ($query) use ($data) {
@ -79,6 +85,9 @@ class OrderController extends Controller
return $this->error('订单金额比例不正确');
}
$user = User::query()->where('id',$data['user_id'])->first();
if ($user == null){
return $this->error('请选择接单人');
}
if ($customer->is_end!=1){
$customer->update(['is_end'=>1]);
}
@ -120,9 +129,9 @@ class OrderController extends Controller
if ($request->ajax()){
$data = $request->all(['node_id','content','next_follow_time']);
$old_node_id = $model->node_id;
$old_node_name = null;
$old_node_name = '';
$new_node_id = $data['node_id']??0;
$new_node_name = null;
$new_node_name = '';
foreach ($nodes as $node){
if ($node->id == $old_node_id){
$old_node_name = $node->name;

View File

@ -38,6 +38,6 @@ class CreateUsersTable extends Migration
*/
public function down()
{
Schema::dropIfExists('users');
Schema::dropIfExists('user');
}
}

View File

@ -52,6 +52,8 @@ class Dialplan extends Migration
*/
public function down()
{
Schema::dropIfExists('action');
Schema::dropIfExists('condition');
Schema::dropIfExists('extension');
}
}

View File

@ -243,6 +243,8 @@ class UserTableSeeder extends Seeder
['name' => 'order.order.pay', 'display_name' => '付款'],
['name' => 'order.order.remark', 'display_name' => '跟进'],
['name' => 'order.order.destroy', 'display_name' => '删除'],
['name' => 'order.order.list_all', 'display_name' => '查看所有订单'],
['name' => 'order.order.list_department', 'display_name' => '查看本部门订单'],
]
],
],
@ -256,6 +258,7 @@ class UserTableSeeder extends Seeder
'display_name' => '订单付款',
'child' => [
['name' => 'account.pay.check', 'display_name' => '审核'],
['name' => 'account.pay.show', 'display_name' => '详情'],
]
],
],

View File

@ -28,6 +28,9 @@
<span class="layui-badge layui-bg-gray">@{{ d.status_name }}</span>
@{{# } }}
</script>
<script type="text/html" id="num">
<a lay-event="show" style="cursor: pointer">@{{ d.order.num }}</a>
</script>
</div>
</div>
@endsection
@ -50,7 +53,7 @@
,cols: [[ //表头
{checkbox: true}
,{field: 'num', title: '订单号',templet:function (d) {
return d.order.num
return '<a lay-event="show" style="cursor: pointer">'+ d.order.num+ '</a>'
}}
,{field: 'total_money', title: '总金额',templet:function (d) {
return d.order.total_money
@ -79,6 +82,14 @@
area: ["600px","400px"],
content: '/account/pay/check?id='+data.id,
})
} else if(layEvent == 'show'){
layer.open({
type: 2,
title: "付款申请记录",
shadeClose: true,
area: ["90%","90%"],
content: '/account/pay/show?order_id='+data.order_id,
})
}
});

View File

@ -0,0 +1,87 @@
@extends('base')
@section('content')
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-row">
<div class="layui-col-xs12">
<div class="layui-card">
<div class="layui-card-header"><b>订单信息</b></div>
<div class="layui-card-body">
<table class="layui-table" lay-skin="nob">
<tbody>
<tr>
<td width="80" align="right">订单号:</td>
<td>{{$order->num}}</td>
<td width="80" align="right">总金额:</td>
<td>{{$order->total_money}}</td>
<td width="80" align="right">已付金额:</td>
<td>{{$order->payed_money}}</td>
</tr>
<tr>
<td width="80" align="right">前期款:</td>
<td>{{$order->first_money}}</td>
<td width="80" align="right">中期款:</td>
<td>{{$order->mid_money}}</td>
<td width="80" align="right">尾款:</td>
<td>{{$order->last_money}}</td>
</tr>
<tr>
<td width="80" align="right">客户名称:</td>
<td>{{$order->name}}</td>
<td width="80" align="right">联系人:</td>
<td>{{$order->contact_name}}</td>
<td width="80" align="right">联系电话:</td>
<td>{{$order->contact_phone}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-col-xs12">
<div class="layui-card">
<div class="layui-card-header"><b>付款申请记录</b></div>
<div class="layui-card-body">
<table id="dataTable" lay-filter="dataTable"></table>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('script')
<script>
layui.use(['layer','table','form','element','flow','laydate'],function () {
var $ = layui.jquery;
var form = layui.form;
var flow = layui.flow;
var laydate = layui.laydate;
var table = layui.table;
//用户表格初始化
var dataTable = table.render({
elem: '#dataTable'
,height: 'full-200'
,url: "{{ route('account.pay.show',['order_id'=>$order->id]) }}" //数据接口
,page: true //开启分页
,cols: [[ //表头
{checkbox: true}
,{field: 'money', title: '付款金额'}
,{field: 'pay_type_name', title: '付款方式'}
,{field: 'created_user_nickname', title: '申请人'}
,{field: 'created_at', title: '申请时间',width:160}
,{field: 'content', title: '申请备注'}
,{field: 'status_name', title: '状态'}
,{field: 'check_user_nickname', title: '审核人'}
,{field: 'check_time', title: '审核时间',width:160}
,{field: 'check_result', title:'审核结果'}
]]
});
});
</script>
@endsection

View File

@ -367,6 +367,8 @@ Route::group(['prefix'=>'account','namespace'=>'Account','middleware'=>['auth','
Route::get('pay','PayController@index')->name('account.pay')->middleware('permission:account.pay');
//审核
Route::match(['get','post'],'pay/check','PayController@check')->name('account.pay.check')->middleware('permission:account.pay.check');
//详情
Route::get('pay/show','PayController@show')->name('account.pay.show')->middleware('permission:account.pay.show');
});