base
parent
15b236ed08
commit
e3b5cf6e52
|
|
@ -41,7 +41,7 @@ class OrderController extends AdminController
|
||||||
$grid->model()->whereIn('store_id', $stores);
|
$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('store.title', '门店');
|
||||||
$grid->column('sn')->copyable();
|
$grid->column('sn')->copyable();
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,17 @@ class StockController extends AdminController
|
||||||
$grid->column('amount')->display(function ($value) {
|
$grid->column('amount')->display(function ($value) {
|
||||||
return '<span class="text-'.($value > 0 ? 'success' : 'danger') .'">'.$value.'</span>';
|
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('operator_name', '操作人');
|
||||||
$grid->column('remarks', '备注');
|
$grid->column('remarks', '备注');
|
||||||
$grid->column('created_at', '操作时间');
|
$grid->column('created_at', '操作时间');
|
||||||
|
|
@ -68,6 +78,45 @@ class StockController extends AdminController
|
||||||
}
|
}
|
||||||
}, '操作时间')->date()->width(6);
|
}, '操作时间')->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;
|
return $grid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue