添加财务审核模块
This commit is contained in:
parent
e7e6cbcf8e
commit
01168c6dec
|
|
@ -14,6 +14,17 @@ if (!function_exists('uuid_generate')) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!function_exists('create_customer_num')) {
|
||||||
|
/**
|
||||||
|
* 生成客户编号
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function create_customer_num()
|
||||||
|
{
|
||||||
|
return 'K'.date('YmdHis').\Illuminate\Support\Facades\Redis::incr('customer_num_id');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!function_exists('create_order_num')) {
|
if (!function_exists('create_order_num')) {
|
||||||
/**
|
/**
|
||||||
* 生成唯一订单号
|
* 生成唯一订单号
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,71 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Account;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\OrderPay;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
use Illuminate\Support\Facades\View;
|
||||||
|
|
||||||
|
class PayController extends Controller
|
||||||
|
{
|
||||||
|
|
||||||
|
public function index(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->ajax()){
|
||||||
|
$res = OrderPay::with('order')
|
||||||
|
->orderBy('status','asc')
|
||||||
|
->orderByDesc('created_at')
|
||||||
|
->paginate($request->input('limit',30));
|
||||||
|
return $this->success('ok',$res->items(),$res->total());
|
||||||
|
}
|
||||||
|
return View::make('account.pay.index');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function check(Request $request)
|
||||||
|
{
|
||||||
|
$model = OrderPay::with('order')->where('id','=',$request->input('id'))->first();
|
||||||
|
if ($request->ajax()){
|
||||||
|
$data = $request->all(['check_result','status']);
|
||||||
|
if ($model->order==null){
|
||||||
|
return $this->error('订单已不存在');
|
||||||
|
}
|
||||||
|
DB::beginTransaction();
|
||||||
|
try {
|
||||||
|
if ($data['status']==2&&!$data['check_result']){
|
||||||
|
return $this->error('请备注审核未通过原因');
|
||||||
|
}
|
||||||
|
$model->update([
|
||||||
|
'check_result' => $data['check_result'],
|
||||||
|
'status' => $data['status'],
|
||||||
|
'check_user_id' => $request->user()->id,
|
||||||
|
'check_user_nickname' => $request->user()->nickname,
|
||||||
|
'check_time' => date('Y-m-d H:i:s'),
|
||||||
|
]);
|
||||||
|
if ($data['status']==1){
|
||||||
|
$payed_money = $model->order->payed_money + $model->money;
|
||||||
|
if ($payed_money >= $model->order->total_money){
|
||||||
|
$model->order->update([
|
||||||
|
'payed_money' => $payed_money,
|
||||||
|
'status' => 1,
|
||||||
|
]);
|
||||||
|
}else{
|
||||||
|
$model->order->update([
|
||||||
|
'payed_money' => $payed_money,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DB::commit();
|
||||||
|
return $this->success();
|
||||||
|
}catch (\Exception $exception){
|
||||||
|
DB::rollBack();
|
||||||
|
Log::error('审核异常:'.$exception->getMessage());
|
||||||
|
return $this->error();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return View::make('account.pay.check',compact('model'));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -6,6 +6,8 @@ use App\Models\Cdr;
|
||||||
use App\Models\CustomerRemark;
|
use App\Models\CustomerRemark;
|
||||||
use App\Models\Department;
|
use App\Models\Department;
|
||||||
use App\Models\Node;
|
use App\Models\Node;
|
||||||
|
use App\Models\Order;
|
||||||
|
use App\Models\OrderPay;
|
||||||
use App\Models\OrderRemark;
|
use App\Models\OrderRemark;
|
||||||
use App\Models\Permission;
|
use App\Models\Permission;
|
||||||
use App\Models\Role;
|
use App\Models\Role;
|
||||||
|
|
@ -190,4 +192,12 @@ class ApiController extends Controller
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function payList(Request $request)
|
||||||
|
{
|
||||||
|
$id = $request->input('id');
|
||||||
|
$res = OrderPay::query()->where('order_id','=',$id)->orderByDesc('id')->paginate($request->get('limit', 2));
|
||||||
|
return $this->success('ok',['list'=>$res->items(),'lastPage'=>$res->lastPage()]);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ class AssignmentController extends Controller
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
try{
|
try{
|
||||||
$customer_id = DB::table('customer')->insertGetId([
|
$customer_id = DB::table('customer')->insertGetId([
|
||||||
'uuid' => uuid_generate(),
|
'uuid' => create_customer_num(),
|
||||||
'name' => $data['name'],
|
'name' => $data['name'],
|
||||||
'contact_name' => $data['contact_name'],
|
'contact_name' => $data['contact_name'],
|
||||||
'contact_phone' => $data['contact_phone'],
|
'contact_phone' => $data['contact_phone'],
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ class CustomerController extends Controller
|
||||||
{
|
{
|
||||||
if ($request->ajax()){
|
if ($request->ajax()){
|
||||||
$data = $request->all([
|
$data = $request->all([
|
||||||
|
'uuid',
|
||||||
'name',
|
'name',
|
||||||
'contact_name',
|
'contact_name',
|
||||||
'contact_phone',
|
'contact_phone',
|
||||||
|
|
@ -42,6 +43,10 @@ class CustomerController extends Controller
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
->where('status','=',3)
|
->where('status','=',3)
|
||||||
|
//客户编号
|
||||||
|
->when($data['uuid'], function ($query) use ($data) {
|
||||||
|
return $query->where('uuid', $data['uuid']);
|
||||||
|
})
|
||||||
//客户名称
|
//客户名称
|
||||||
->when($data['name'], function ($query) use ($data) {
|
->when($data['name'], function ($query) use ($data) {
|
||||||
return $query->where('name', $data['name']);
|
return $query->where('name', $data['name']);
|
||||||
|
|
@ -114,7 +119,7 @@ class CustomerController extends Controller
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
try{
|
try{
|
||||||
$customer_id = DB::table('customer')->insertGetId([
|
$customer_id = DB::table('customer')->insertGetId([
|
||||||
'uuid' => uuid_generate(),
|
'uuid' => create_customer_num(),
|
||||||
'name' => $data['name'],
|
'name' => $data['name'],
|
||||||
'contact_name' => $data['contact_name'],
|
'contact_name' => $data['contact_name'],
|
||||||
'contact_phone' => $data['contact_phone'],
|
'contact_phone' => $data['contact_phone'],
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,32 @@ class OrderController extends Controller
|
||||||
{
|
{
|
||||||
if ($request->ajax()){
|
if ($request->ajax()){
|
||||||
$user = $request->user();
|
$user = $request->user();
|
||||||
|
$data = $request->all([
|
||||||
|
'name',
|
||||||
|
'contact_name',
|
||||||
|
'contact_phone',
|
||||||
|
'num',
|
||||||
|
]);
|
||||||
$res = Order::query()
|
$res = Order::query()
|
||||||
->where(function ($q) use ($user){
|
->where(function ($q) use ($user){
|
||||||
return $q->where('frontend_user_id',$user->id)->orWhere('backend_user_id',$user->id);
|
return $q->where('frontend_user_id',$user->id)->orWhere('backend_user_id',$user->id);
|
||||||
})
|
})
|
||||||
|
//订单号
|
||||||
|
->when($data['num'], function ($query) use ($data) {
|
||||||
|
return $query->where('num', $data['num']);
|
||||||
|
})
|
||||||
|
//客户名称
|
||||||
|
->when($data['name'], function ($query) use ($data) {
|
||||||
|
return $query->where('name', $data['name']);
|
||||||
|
})
|
||||||
|
//联系电话
|
||||||
|
->when($data['contact_phone'], function ($query) use ($data) {
|
||||||
|
return $query->where('contact_phone', $data['contact_phone']);
|
||||||
|
})
|
||||||
|
//联系人
|
||||||
|
->when($data['contact_name'], function ($query) use ($data) {
|
||||||
|
return $query->where('contact_name', $data['contact_name'] );
|
||||||
|
})
|
||||||
->orderBy('status','asc')
|
->orderBy('status','asc')
|
||||||
->orderByDesc('accept_time')
|
->orderByDesc('accept_time')
|
||||||
->paginate($request->get('limit', 30));
|
->paginate($request->get('limit', 30));
|
||||||
|
|
@ -57,7 +79,9 @@ class OrderController extends Controller
|
||||||
return $this->error('订单金额比例不正确');
|
return $this->error('订单金额比例不正确');
|
||||||
}
|
}
|
||||||
$user = User::query()->where('id',$data['user_id'])->first();
|
$user = User::query()->where('id',$data['user_id'])->first();
|
||||||
$customer->update(['is_end'=>1]);
|
if ($customer->is_end!=1){
|
||||||
|
$customer->update(['is_end'=>1]);
|
||||||
|
}
|
||||||
Order::create([
|
Order::create([
|
||||||
'num' => create_order_num(),
|
'num' => create_order_num(),
|
||||||
'customer_id' => $customer->id,
|
'customer_id' => $customer->id,
|
||||||
|
|
@ -164,6 +188,8 @@ class OrderController extends Controller
|
||||||
'pay_type' => $data['pay_type'],
|
'pay_type' => $data['pay_type'],
|
||||||
'content' => $data['content'],
|
'content' => $data['content'],
|
||||||
'status' => 0,
|
'status' => 0,
|
||||||
|
'created_user_id' => $request->user()->id,
|
||||||
|
'created_user_nickname' => $request->user()->nickname,
|
||||||
]);
|
]);
|
||||||
DB::commit();
|
DB::commit();
|
||||||
return $this->success('操作成功,等待财务审核');
|
return $this->success('操作成功,等待财务审核');
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,28 @@
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Support\Arr;
|
||||||
|
|
||||||
class OrderPay extends Model
|
class OrderPay extends Model
|
||||||
{
|
{
|
||||||
protected $table = 'order_pay';
|
protected $table = 'order_pay';
|
||||||
protected $guarded = ['id'];
|
protected $guarded = ['id'];
|
||||||
|
|
||||||
|
protected $appends = ['pay_type_name','status_name'];
|
||||||
|
|
||||||
|
public function getPayTypeNameAttribute()
|
||||||
|
{
|
||||||
|
return $this->attributes['pay_type_name'] = Arr::get(config('freeswitch.pay_type'),$this->pay_type,'-');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getStatusNameAttribute()
|
||||||
|
{
|
||||||
|
return $this->attributes['status_name'] = Arr::get([0=>'待审核',1=>'审核通过',2=>'审核不通过'],$this->status,'-');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function order()
|
||||||
|
{
|
||||||
|
return $this->hasOne(Order::class,'id','order_id');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,12 @@ class OrderPay extends Migration
|
||||||
$table->tinyInteger('pay_type')->comment('1现金|2对公账户|3支付宝|4微信|5其它');
|
$table->tinyInteger('pay_type')->comment('1现金|2对公账户|3支付宝|4微信|5其它');
|
||||||
$table->text('content')->comment('备注');
|
$table->text('content')->comment('备注');
|
||||||
$table->tinyInteger('status')->default(0)->comment('审核状态,0待审核,1审核通过,2审核不通过');
|
$table->tinyInteger('status')->default(0)->comment('审核状态,0待审核,1审核通过,2审核不通过');
|
||||||
|
$table->unsignedBigInteger('check_user_id')->default(0)->comment('审核人ID');
|
||||||
|
$table->string('check_user_nickname')->nullable()->comment('审核人昵称');
|
||||||
|
$table->text('check_result')->nullable()->comment('审核备注');
|
||||||
|
$table->text('check_time')->nullable()->comment('审核时间');
|
||||||
|
$table->unsignedBigInteger('created_user_id')->default(0)->comment('操作人ID');
|
||||||
|
$table->string('created_user_nickname')->nullable()->comment('操作人昵称');
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,33 @@ class MenuTableSeeder extends Seeder
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
'name' => '实时聊天',
|
||||||
|
'route' => null,
|
||||||
|
'url' => null,
|
||||||
|
'icon' => 'layui-icon-cellphone-fine',
|
||||||
|
'type' => 2,
|
||||||
|
'sort' => 2,
|
||||||
|
'permission_name' => 'chat',
|
||||||
|
'child' => [
|
||||||
|
[
|
||||||
|
'name' => '消息中心',
|
||||||
|
'route' => 'chat.message',
|
||||||
|
'url' => null,
|
||||||
|
'icon' => 'layui-icon-note',
|
||||||
|
'type' => 1,
|
||||||
|
'permission_name' => 'chat.message',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => '语音通话',
|
||||||
|
'route' => 'chat.audio',
|
||||||
|
'url' => null,
|
||||||
|
'icon' => 'layui-icon-service',
|
||||||
|
'type' => 1,
|
||||||
|
'permission_name' => 'chat.audio',
|
||||||
|
],
|
||||||
|
]
|
||||||
|
],
|
||||||
[
|
[
|
||||||
'name' => 'CRM管理',
|
'name' => 'CRM管理',
|
||||||
'route' => null,
|
'route' => null,
|
||||||
|
|
@ -174,33 +201,6 @@ class MenuTableSeeder extends Seeder
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
|
||||||
'name' => '实时聊天',
|
|
||||||
'route' => null,
|
|
||||||
'url' => null,
|
|
||||||
'icon' => 'layui-icon-cellphone-fine',
|
|
||||||
'type' => 2,
|
|
||||||
'sort' => 2,
|
|
||||||
'permission_name' => 'chat',
|
|
||||||
'child' => [
|
|
||||||
[
|
|
||||||
'name' => '消息中心',
|
|
||||||
'route' => 'chat.message',
|
|
||||||
'url' => null,
|
|
||||||
'icon' => 'layui-icon-note',
|
|
||||||
'type' => 1,
|
|
||||||
'permission_name' => 'chat.message',
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'name' => '语音通话',
|
|
||||||
'route' => 'chat.audio',
|
|
||||||
'url' => null,
|
|
||||||
'icon' => 'layui-icon-service',
|
|
||||||
'type' => 1,
|
|
||||||
'permission_name' => 'chat.audio',
|
|
||||||
],
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
[
|
||||||
'name' => '订单模块',
|
'name' => '订单模块',
|
||||||
'route' => null,
|
'route' => null,
|
||||||
|
|
@ -220,6 +220,25 @@ class MenuTableSeeder extends Seeder
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
'name' => '账务模块',
|
||||||
|
'route' => null,
|
||||||
|
'url' => null,
|
||||||
|
'icon' => 'layui-icon-diamond',
|
||||||
|
'type' => 2,
|
||||||
|
'sort' => 2,
|
||||||
|
'permission_name' => 'account',
|
||||||
|
'child' => [
|
||||||
|
[
|
||||||
|
'name' => '订单付款',
|
||||||
|
'route' => 'account.pay',
|
||||||
|
'url' => null,
|
||||||
|
'icon' => 'layui-icon-dollar',
|
||||||
|
'type' => 1,
|
||||||
|
'permission_name' => 'account.pay',
|
||||||
|
],
|
||||||
|
]
|
||||||
|
],
|
||||||
];
|
];
|
||||||
$permissions = \App\Models\Permission::pluck('id','name')->toArray();
|
$permissions = \App\Models\Permission::pluck('id','name')->toArray();
|
||||||
foreach ($datas as $k1 => $d1){
|
foreach ($datas as $k1 => $d1){
|
||||||
|
|
|
||||||
|
|
@ -247,6 +247,19 @@ class UserTableSeeder extends Seeder
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
'name' => 'account',
|
||||||
|
'display_name' => '财务模块',
|
||||||
|
'child' => [
|
||||||
|
[
|
||||||
|
'name' => 'account.pay',
|
||||||
|
'display_name' => '订单付款',
|
||||||
|
'child' => [
|
||||||
|
['name' => 'account.pay.check', 'display_name' => '审核'],
|
||||||
|
]
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
];
|
];
|
||||||
foreach ($permissions as $pem1) {
|
foreach ($permissions as $pem1) {
|
||||||
//生成一级权限
|
//生成一级权限
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
@extends('base')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="layui-card">
|
||||||
|
<div class="layui-card-body">
|
||||||
|
<form class="layui-form" action="{{route('account.pay.check',['id'=>$model->id])}}" method="post">
|
||||||
|
{{csrf_field()}}
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="" class="layui-form-label">状态</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="radio" name="status" value="1" title="通过" checked>
|
||||||
|
<input type="radio" name="status" value="2" title="不通过" >
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="" class="layui-form-label">备注</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<textarea name="check_result" class="layui-textarea" placeholder="审核不通过时备注"></textarea>
|
||||||
|
</div>
|
||||||
|
<div class="layui-word-aux layui-form-mid"></div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<button type="button" lay-submit lay-filter="go-close-refresh" class="layui-btn layui-btn-sm">确认</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
@extends('base')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="layui-card">
|
||||||
|
<div class="layui-card-header layuiadmin-card-header-auto">
|
||||||
|
<form class="layui-form" action="{{route("account.pay")}}">
|
||||||
|
<div class="layui-btn-group">
|
||||||
|
<button type="button" lay-submit lay-filter="search" class="layui-btn layui-btn-sm" >搜索</button>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label for="" class="layui-form-label">订单号:</label>
|
||||||
|
<div class="layui-input-block" style="width: 275px">
|
||||||
|
<input type="text" name="num" placeholder="请输入名称" class="layui-input" >
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="layui-card-body">
|
||||||
|
<table id="dataTable" lay-filter="dataTable"></table>
|
||||||
|
<script type="text/html" id="options">
|
||||||
|
@{{# if(d.status==0){ }}
|
||||||
|
@can('account.pay.check')
|
||||||
|
<a class="layui-btn layui-btn-sm" lay-event="check">待审核</a>
|
||||||
|
@endcan
|
||||||
|
@{{# }else{ }}
|
||||||
|
<span class="layui-badge layui-bg-gray">@{{ d.status_name }}</span>
|
||||||
|
@{{# } }}
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('script')
|
||||||
|
<script>
|
||||||
|
layui.use(['layer','table','form','laydate','upload'],function () {
|
||||||
|
var $ = layui.jquery;
|
||||||
|
var layer = layui.layer;
|
||||||
|
var form = layui.form;
|
||||||
|
var table = layui.table;
|
||||||
|
var laydate = layui.laydate;
|
||||||
|
var upload = layui.upload;
|
||||||
|
//用户表格初始化
|
||||||
|
var dataTable = table.render({
|
||||||
|
elem: '#dataTable'
|
||||||
|
,height: 'full-200'
|
||||||
|
,url: "{{ route('account.pay') }}" //数据接口
|
||||||
|
,page: true //开启分页
|
||||||
|
,cols: [[ //表头
|
||||||
|
{checkbox: true}
|
||||||
|
,{field: 'num', title: '订单号',templet:function (d) {
|
||||||
|
return d.order.num
|
||||||
|
}}
|
||||||
|
,{field: 'total_money', title: '总金额',templet:function (d) {
|
||||||
|
return d.order.total_money
|
||||||
|
}}
|
||||||
|
,{field: 'payed_money', title: '已付金额',templet:function (d) {
|
||||||
|
return d.order.payed_money
|
||||||
|
}}
|
||||||
|
,{field: 'money', title: '本次付款金额'}
|
||||||
|
,{field: 'pay_type_name', title: '付款方式'}
|
||||||
|
,{field: 'created_user_nickname', title: '申请人'}
|
||||||
|
,{field: 'created_at', title: '申请时间'}
|
||||||
|
,{field: 'content', title: '备注'}
|
||||||
|
,{align:'center', toolbar: '#options', title:'操作'}
|
||||||
|
]]
|
||||||
|
});
|
||||||
|
|
||||||
|
//监听工具条
|
||||||
|
table.on('tool(dataTable)', function(obj){ //注:tool是工具条事件名,dataTable是table原始容器的属性 lay-filter="对应的值"
|
||||||
|
var data = obj.data //获得当前行数据
|
||||||
|
,layEvent = obj.event; //获得 lay-event 对应的值
|
||||||
|
if (layEvent === 'check'){
|
||||||
|
layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: "审核",
|
||||||
|
shadeClose: true,
|
||||||
|
area: ["600px","400px"],
|
||||||
|
content: '/account/pay/check?id='+data.id,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|
@ -14,6 +14,12 @@
|
||||||
<button type="button" lay-submit lay-filter="search" class="layui-btn layui-btn-sm" >搜索</button>
|
<button type="button" lay-submit lay-filter="search" class="layui-btn layui-btn-sm" >搜索</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label for="" class="layui-form-label">客户编号:</label>
|
||||||
|
<div class="layui-input-block" style="width: 275px">
|
||||||
|
<input type="text" name="uuid" placeholder="请输入客户编号" class="layui-input" >
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<label for="" class="layui-form-label">客户名称:</label>
|
<label for="" class="layui-form-label">客户名称:</label>
|
||||||
<div class="layui-input-block" style="width: 275px">
|
<div class="layui-input-block" style="width: 275px">
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,12 @@
|
||||||
<button type="button" lay-submit lay-filter="search" class="layui-btn layui-btn-sm" >搜索</button>
|
<button type="button" lay-submit lay-filter="search" class="layui-btn layui-btn-sm" >搜索</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label for="" class="layui-form-label">订单号:</label>
|
||||||
|
<div class="layui-input-block" style="width: 275px">
|
||||||
|
<input type="text" name="num" placeholder="请输入名称" class="layui-input" >
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<label for="" class="layui-form-label">客户名称:</label>
|
<label for="" class="layui-form-label">客户名称:</label>
|
||||||
<div class="layui-input-block" style="width: 275px">
|
<div class="layui-input-block" style="width: 275px">
|
||||||
|
|
@ -97,7 +103,7 @@
|
||||||
type: 2,
|
type: 2,
|
||||||
title: "付款",
|
title: "付款",
|
||||||
shadeClose: true,
|
shadeClose: true,
|
||||||
area: ["600px","400px"],
|
area: ["80%","80%"],
|
||||||
content: '/order/order/payForm?id=' + data.id,
|
content: '/order/order/payForm?id=' + data.id,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,43 +3,94 @@
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="layui-card">
|
<div class="layui-card">
|
||||||
<div class="layui-card-body">
|
<div class="layui-card-body">
|
||||||
<div class="layui-card">
|
<div class="layui-row layui-col-space30">
|
||||||
<form class="layui-form" action="{{route('order.order.pay',['id'=>$model->id])}}" method="post">
|
<div class="layui-col-xs6">
|
||||||
{{csrf_field()}}
|
<div class="layui-card">
|
||||||
<div class="layui-form-item">
|
<div class="layui-card-header"><b>付款记录</b></div>
|
||||||
<label for="" class="layui-form-label">付款方式</label>
|
<div class="layui-card-body">
|
||||||
<div class="layui-input-block">
|
<ul class="layui-timeline" id="pay_list_box"></ul>
|
||||||
<select name="pay_type" lay-verify="required" >
|
|
||||||
@foreach(config('freeswitch.pay_type') as $k => $v)
|
|
||||||
<option value="{{$k}}">{{$v}}</option>
|
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
</div>
|
||||||
<label for="" class="layui-form-label">付款金额</label>
|
<div class="layui-col-xs6">
|
||||||
<div class="layui-input-block">
|
<div class="layui-card">
|
||||||
<input type="number" name="money" placeholder="付款金额" lay-verify="required" class="layui-input">
|
<div class="layui-card-header"><b>新增付款</b></div>
|
||||||
</div>
|
<div class="layui-card-body">
|
||||||
</div>
|
<form class="layui-form" action="{{route('order.order.pay',['id'=>$model->id])}}" method="post">
|
||||||
<div class="layui-form-item">
|
{{csrf_field()}}
|
||||||
<label for="" class="layui-form-label">备注内容</label>
|
<div class="layui-form-item">
|
||||||
<div class="layui-input-block">
|
<label for="" class="layui-form-label">付款方式</label>
|
||||||
<textarea name="content" class="layui-textarea" lay-verify="required"></textarea>
|
<div class="layui-input-block">
|
||||||
</div>
|
<select name="pay_type" lay-verify="required" >
|
||||||
<div class="layui-word-aux layui-form-mid"></div>
|
@foreach(config('freeswitch.pay_type') as $k => $v)
|
||||||
</div>
|
<option value="{{$k}}">{{$v}}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="" class="layui-form-label">付款金额</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="number" name="money" placeholder="付款金额" lay-verify="required" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label for="" class="layui-form-label">备注内容</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<textarea name="content" class="layui-textarea" lay-verify="required"></textarea>
|
||||||
|
</div>
|
||||||
|
<div class="layui-word-aux layui-form-mid"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<button type="button" lay-submit lay-filter="go-close-refresh" class="layui-btn layui-btn-sm">确认</button>
|
<button type="button" lay-submit lay-filter="go-close-refresh" class="layui-btn layui-btn-sm">确认</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@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;
|
||||||
|
flow.load({
|
||||||
|
elem: '#pay_list_box' //流加载容器
|
||||||
|
,done: function(page, next){ //执行下一页的回调
|
||||||
|
$.post('{{route('api.payList')}}',{id:'{{$model->id}}',page:page},function (res) {
|
||||||
|
var _html = '';
|
||||||
|
res.data.list.forEach(function (item,index) {
|
||||||
|
console.log(item)
|
||||||
|
_html += '<li class="layui-timeline-item">';
|
||||||
|
_html += ' <i class="layui-icon layui-timeline-axis"></i>';
|
||||||
|
_html += ' <div class="layui-timeline-content layui-text">';
|
||||||
|
_html += ' <h3 class="layui-timeline-title">【'+item.status_name+'】'+item.created_at+'</h3>';
|
||||||
|
_html += ' <p><b>付款金额:</b>' + item.money + '</p>';
|
||||||
|
_html += ' <p><b>付款方式:</b>' + item.pay_type_name + '</p>';
|
||||||
|
_html += ' <p><b>备注:</b>' + item.content + '</p>';
|
||||||
|
if(item.status==2){
|
||||||
|
_html += ' <p><b>审核人:</b>' + item.check_user_nickname + '</p>';
|
||||||
|
_html += ' <p><b>审核时间:</b>' + item.check_time + '</p>';
|
||||||
|
_html += ' <p><b>原因:</b>' + item.check_result + '</p>';
|
||||||
|
}
|
||||||
|
_html += ' </div>';
|
||||||
|
_html += '</li>';
|
||||||
|
})
|
||||||
|
next(_html, page < res.data.lastPage); //假设总页数为 10
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,5 +23,6 @@ Route::post('get_department_by_user_id','ApiController@getDepartmentByUserId')->
|
||||||
Route::post('get_user','ApiController@getUser')->name('api.getUser');
|
Route::post('get_user','ApiController@getUser')->name('api.getUser');
|
||||||
Route::post('get_node','ApiController@getNode')->name('api.getNode');
|
Route::post('get_node','ApiController@getNode')->name('api.getNode');
|
||||||
Route::post('remark_list','ApiController@remarkList')->name('api.remarkList');
|
Route::post('remark_list','ApiController@remarkList')->name('api.remarkList');
|
||||||
|
Route::post('pay_list','ApiController@payList')->name('api.payList');
|
||||||
Route::post('call','ApiController@call')->name('api.call');
|
Route::post('call','ApiController@call')->name('api.call');
|
||||||
Route::post('upload','ApiController@upload')->name('api.upload');
|
Route::post('upload','ApiController@upload')->name('api.upload');
|
||||||
|
|
|
||||||
|
|
@ -354,7 +354,23 @@ Route::group(['prefix'=>'order','namespace'=>'Order','middleware'=>['auth','perm
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 财务模块
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
Route::group(['prefix'=>'account','namespace'=>'Account','middleware'=>['auth','permission:account']],function () {
|
||||||
|
|
||||||
|
//订单付款
|
||||||
|
Route::group([],function (){
|
||||||
|
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');
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue