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;
use App\Admin\Repositories\DealerPurchaseLog;
use App\Admin\Widgets\InfoBox;
use App\Models\DealerPurchaseLog as DealerPurchaseLogModel;
use App\Models\User;
use Dcat\Admin\Admin;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Layout\Row;
use Dcat\Admin\Show;
use Illuminate\Support\Facades\Request;
@ -20,6 +23,15 @@ class DealerPurchaseLogController extends AdminController
*/
protected function grid()
{
Admin::style(
<<<CSS
.card-header {
margin-top: 1.5rem !important;
margin-bottom: -1rem !important;
}
CSS
);
$builder = DealerPurchaseLog::with(['user', 'order']);
return Grid::make($builder, function (Grid $grid) {
$phone = Request::input('user_phone', '');
@ -43,21 +55,19 @@ class DealerPurchaseLogController extends AdminController
$grid->column('created_at')->sortable();
$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) {
if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) {
return;
}
$grid->model()->getQueries()->unique()->each(function ($value) use (&$query) {
if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) {
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) {