store product total delete
parent
59fd71ae02
commit
581f9508ca
|
|
@ -56,20 +56,20 @@ class ProductController extends AdminController
|
|||
$grid->column('productSku.specs', '规格')->label();
|
||||
$grid->column('productSku.sell_price', '销售价')->display(fn ($value) => bcdiv($value, 100, 2));
|
||||
$grid->column('productSku.cost_price', '成本价')->display(fn ($value) => bcdiv($value, 100, 2));
|
||||
$grid->column('profit', '毛利')->display(function () {
|
||||
$sell_price = data_get($this->productSku, 'sell_price');
|
||||
$cost_price = data_get($this->productSku, 'cost_price');
|
||||
return round(($sell_price - $cost_price) / 100, 2, PHP_ROUND_HALF_DOWN);
|
||||
});
|
||||
// $grid->column('profit', '毛利')->display(function () {
|
||||
// $sell_price = data_get($this->productSku, 'sell_price');
|
||||
// $cost_price = data_get($this->productSku, 'cost_price');
|
||||
// return round(($sell_price - $cost_price) / 100, 2, PHP_ROUND_HALF_DOWN);
|
||||
// });
|
||||
$grid->column('amount', '库存');
|
||||
$grid->column('sell', '总销售')->display(function () {
|
||||
$sell_price = data_get($this->productSku, 'sell_price');
|
||||
return round($sell_price / 100 * $this->amount, 2, PHP_ROUND_HALF_DOWN);
|
||||
});
|
||||
$grid->column('cost', '总成本')->display(function () {
|
||||
$cost_price = data_get($this->productSku, 'cost_price');
|
||||
return round($cost_price / 100 * $this->amount, 2, PHP_ROUND_HALF_DOWN);
|
||||
});
|
||||
// $grid->column('sell', '总销售')->display(function () {
|
||||
// $sell_price = data_get($this->productSku, 'sell_price');
|
||||
// return round($sell_price / 100 * $this->amount, 2, PHP_ROUND_HALF_DOWN);
|
||||
// });
|
||||
// $grid->column('cost', '总成本')->display(function () {
|
||||
// $cost_price = data_get($this->productSku, 'cost_price');
|
||||
// return round($cost_price / 100 * $this->amount, 2, PHP_ROUND_HALF_DOWN);
|
||||
// });
|
||||
$grid->column('status', '状态')->switch();
|
||||
$grid->paginate(10);
|
||||
|
||||
|
|
@ -92,33 +92,30 @@ class ProductController extends AdminController
|
|||
$tools->append(new \App\Admin\Actions\Store\DownloadProductTemplate());
|
||||
});
|
||||
|
||||
$grid->footer(function ($collection) use ($grid) {
|
||||
$query = StoreProductSku::join('product_skus', 'product_skus.id', '=', 'store_product_skus.product_sku_id');
|
||||
$grid->model()->getQueries()->unique()->each(function ($value) use (&$query) {
|
||||
if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) {
|
||||
return;
|
||||
}
|
||||
// $grid->footer(function ($collection) use ($grid) {
|
||||
// $query = StoreProductSku::join('product_skus', 'product_skus.id', '=', 'store_product_skus.product_sku_id');
|
||||
// $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'] ?? []);
|
||||
});
|
||||
$count = $query->count();
|
||||
$stock = round($query->sum('store_product_skus.amount'), 2, PHP_ROUND_HALF_DOWN);
|
||||
$cost = round($query->sum(DB::raw('product_skus.cost_price * amount')) / 100, 2, PHP_ROUND_HALF_DOWN);
|
||||
$sell = round($query->sum(DB::raw('product_skus.sell_price * amount')) / 100, 2, PHP_ROUND_HALF_DOWN);
|
||||
return <<<HTML
|
||||
<table class="table table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>统计</td>
|
||||
<td>总数: $count</td>
|
||||
<td>库存: $stock</td>
|
||||
<td>总销售: $sell</td>
|
||||
<td>总成本: $cost</td>
|
||||
<tr>
|
||||
</tbody>
|
||||
</table>
|
||||
HTML;
|
||||
});
|
||||
// $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []);
|
||||
// });
|
||||
// $count = $query->count();
|
||||
// return <<<HTML
|
||||
// <table class="table table-bordered">
|
||||
// <tbody>
|
||||
// <tr>
|
||||
// <td>统计</td>
|
||||
// <td>总数: $count</td>
|
||||
// <td></td>
|
||||
// <td></td>
|
||||
// <td></td>
|
||||
// <tr>
|
||||
// </tbody>
|
||||
// </table>
|
||||
// HTML;
|
||||
// });
|
||||
return $grid;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ use Dcat\Admin\Widgets\Form;
|
|||
use Illuminate\Support\Facades\DB;
|
||||
use Throwable;
|
||||
use Dcat\Admin\Admin;
|
||||
use App\Models\Store\ProductSku as StoreProductSku;
|
||||
use App\Models\Store\Store;
|
||||
|
||||
class OrderPackage extends Form implements LazyRenderable
|
||||
{
|
||||
|
|
@ -45,10 +47,11 @@ class OrderPackage extends Form implements LazyRenderable
|
|||
$orderPackageService = new OrderPackageService();
|
||||
$orderPackageService->createPackage($order, $input);
|
||||
// 店铺发货, 添加出库记录
|
||||
if ($order->store) {
|
||||
$store_id = data_get($input, 'store_id', $order->store_id);
|
||||
if ($store_id) {
|
||||
$packageProducts = $input['packages'];
|
||||
$operator = Admin::user();
|
||||
$store = $order->store;
|
||||
$store = Store::findOrFail($store_id);
|
||||
$tag = Tag::firstOrCreate([
|
||||
'type' => Tag::TYPE_STORE_STOCK,
|
||||
'name' => '发货'
|
||||
|
|
@ -114,6 +117,10 @@ class OrderPackage extends Form implements LazyRenderable
|
|||
'提货' => '提货',
|
||||
])->default('韵达快递')->required();
|
||||
$this->text('shipping_number')->required();
|
||||
|
||||
$list = StoreProductSku::with(['store'])->whereIn('product_sku_id', $order->products->pluck('sku_id'))->get();
|
||||
$stores = $list->pluck('store');
|
||||
$this->select('store_id', '发货门店')->options($stores->pluck('title', 'id'))->value($order->store_id);
|
||||
$products = $order->products->filter(function ($items) {
|
||||
if ($items->after_sale_state != 1) {
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Reference in New Issue