6
0
Fork 0

【后台】优化进货补贴明细

release
李静 2022-03-07 17:19:43 +08:00
parent 043c10c528
commit 4697f7f6b5
1 changed files with 22 additions and 12 deletions

View File

@ -3,11 +3,14 @@
namespace App\Admin\Controllers; namespace App\Admin\Controllers;
use App\Admin\Repositories\DealerPurchaseLog; use App\Admin\Repositories\DealerPurchaseLog;
use App\Admin\Widgets\InfoBox;
use App\Models\DealerPurchaseLog as DealerPurchaseLogModel; use App\Models\DealerPurchaseLog as DealerPurchaseLogModel;
use App\Models\User; use App\Models\User;
use Dcat\Admin\Admin;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Layout\Row;
use Dcat\Admin\Show; use Dcat\Admin\Show;
use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\Request;
@ -20,6 +23,15 @@ class DealerPurchaseLogController extends AdminController
*/ */
protected function grid() protected function grid()
{ {
Admin::style(
<<<CSS
.card-header {
margin-top: 1.5rem !important;
margin-bottom: -1rem !important;
}
CSS
);
$builder = DealerPurchaseLog::with(['user', 'order']); $builder = DealerPurchaseLog::with(['user', 'order']);
return Grid::make($builder, function (Grid $grid) { return Grid::make($builder, function (Grid $grid) {
$phone = Request::input('user_phone', ''); $phone = Request::input('user_phone', '');
@ -43,21 +55,19 @@ class DealerPurchaseLogController extends AdminController
$grid->column('created_at')->sortable(); $grid->column('created_at')->sortable();
$grid->header(function ($collection) use ($grid) { $grid->header(function ($collection) use ($grid) {
$query = DealerPurchaseLogModel::query(); return tap(new Row(), function ($row) use ($grid) {
$query = DealerPurchaseLogModel::query();
// 拿到表格筛选 where 条件数组进行遍历 $grid->model()->getQueries()->unique()->each(function ($value) use (&$query) {
$grid->model()->getQueries()->unique()->each(function ($value) use (&$query) { if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) {
if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) { return;
return; }
}
$query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []);
});
$row->column(3, new InfoBox('进货业绩', (clone $query)->sum('total_amount'), 'fa fa-cny'));
}); });
// 查出统计数据
$totalAmount = (clone $query)->sum('total_amount');
// 自定义组件
return "<div style='padding: 10px;'>金额:".$totalAmount.' 元</div>';
}); });
$grid->filter(function (Grid\Filter $filter) { $grid->filter(function (Grid\Filter $filter) {