6
0
Fork 0
panliang 2023-03-01 17:07:37 +08:00
parent 15b236ed08
commit e3b5cf6e52
2 changed files with 51 additions and 2 deletions

View File

@ -41,7 +41,7 @@ class OrderController extends AdminController
$grid->model()->whereIn('store_id', $stores);
}
$grid->model()->whereNotNull('store_id')->orderBy('created_at', 'desc');
$grid->model()->orderBy('created_at', 'desc');
$grid->column('store.title', '门店');
$grid->column('sn')->copyable();

View File

@ -33,7 +33,17 @@ class StockController extends AdminController
$grid->column('amount')->display(function ($value) {
return '<span class="text-'.($value > 0 ? 'success' : 'danger') .'">'.$value.'</span>';
});
$grid->column('balance');
// $grid->column('balance');
$grid->column('sell_price', '总销售价')->display(function () {
$amount = abs($this->amount);
$prcie = data_get($this->productSku, 'sell_price', 0);
return round($prcie * $amount / 100, 2, PHP_ROUND_HALF_DOWN);
});
$grid->column('cost_price', '总成本价')->display(function () {
$amount = abs($this->amount);
$prcie = data_get($this->productSku, 'cost_price', 0);
return round($prcie * $amount / 100, 2, PHP_ROUND_HALF_DOWN);
});
$grid->column('operator_name', '操作人');
$grid->column('remarks', '备注');
$grid->column('created_at', '操作时间');
@ -68,6 +78,45 @@ class StockController extends AdminController
}
}, '操作时间')->date()->width(6);
});
$grid->footer(function ($collection) use ($grid) {
$query = StockLog::query();
$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'] ?? []);
});
$list = $query->get();
$sell = $list->sum(function ($item) {
$amount = abs($item->amount);
$prcie = data_get($item->productSku, 'sell_price', 0);
return round($prcie * $amount / 100, 2, PHP_ROUND_HALF_DOWN);
});
$cost = $list->sum(function ($item) {
$amount = abs($item->amount);
$prcie = data_get($item->productSku, 'cost_price', 0);
return round($prcie * $amount / 100, 2, PHP_ROUND_HALF_DOWN);
});
$amount = $list->sum(function ($item) {
return abs($item->amount);
});
$count = $list->count();
return <<<HTML
<table class="table table-bordered">
<tbody>
<tr>
<td>统计</td>
<td>记录数: $count</td>
<td>数量: $amount</td>
<td>总销售价: $sell</td>
<td>总成本价: $cost</td>
<tr>
</tbody>
</table>
HTML;
});
return $grid;
}