diff --git a/app/Admin/Controllers/DealerController.php b/app/Admin/Controllers/DealerController.php
index 6b2f8a13..d8acf54a 100644
--- a/app/Admin/Controllers/DealerController.php
+++ b/app/Admin/Controllers/DealerController.php
@@ -4,8 +4,12 @@ namespace App\Admin\Controllers;
use App\Admin\Actions\Grid\DealerBonds;
use App\Admin\Actions\Grid\DealerEditLvl;
+use App\Admin\Renderable\DealerEarningSimpleTable;
+use App\Admin\Renderable\DealerUserProductLogSimpleTable;
use App\Admin\Repositories\Dealer;
use App\Enums\DealerLvl;
+use App\Models\Dealer as DealerModel;
+use App\Models\DealerUserProduct;
use Dcat\Admin\Admin;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
@@ -159,13 +163,31 @@ class DealerController extends AdminController
}));
});
$row->column(7, function ($column) use ($id) {
+ $dealer = DealerModel::findOrFail($id);
$tab = Tab::make();
- // 预收益明细
- $tab->add('剩余库存', '');
- // 可提明细
- $tab->add('资金记录', '');
+ // 资金记录
+ $tab->add('资金记录', new DealerEarningSimpleTable(['id'=>$dealer->user_id]));
+ // 剩余库存
+ $builder = DealerUserProduct::query();
+ $builder->with(['product'])->where('user_id', $dealer->user_id);
+ $productGrid = Grid::make($builder, function (Grid $grid) {
+ $grid->column('product.name', '商品名称');
+ $grid->column('product.cover', '商品封面')->image(80, 80);
+ $grid->column('stock', '剩余库存');
+ $grid->column('created_at', '创建时间');
+ $grid->column('logs', '库存记录')->display('查看')->modal(function ($modal) {
+ $modal->title('商品');
+ return DealerUserProductLogSimpleTable::make(['product_id'=>$this->product_id, 'id'=> $this->user_id]);
+ });
+ // $grid->withBorder();
+ $grid->model()->orderBy('created_at', 'desc');
+ $grid->disableRefreshButton();
+ $grid->disableActions();
+ $grid->disablePagination();
+ });
+ $tab->add('剩余库存', $productGrid);
// 上级列表
- $tab->add('上级列表', '');
+ // $tab->add('上级列表', '');
$column->row(Box::make('用户记录', $tab));
});
};
diff --git a/app/Admin/Controllers/OrderController.php b/app/Admin/Controllers/OrderController.php
index f769b94d..7b15f7a6 100644
--- a/app/Admin/Controllers/OrderController.php
+++ b/app/Admin/Controllers/OrderController.php
@@ -294,7 +294,7 @@ class OrderController extends AdminController
$grid->disablePagination();
$grid->disableRefreshButton();
});
- $packageBuilder = OrderPackage::with('packageProducts')->where('order_id', $id);
+ $packageBuilder = OrderPackage::where('order_id', $id);
$packageGrid = Grid::make($packageBuilder, function (Grid $grid) {
$grid->column('shipping_company', '物流公司');
$grid->column('shipping_number', '物流单号');
diff --git a/app/Admin/Renderable/DealerEarningSimpleTable.php b/app/Admin/Renderable/DealerEarningSimpleTable.php
new file mode 100644
index 00000000..6a43dd4b
--- /dev/null
+++ b/app/Admin/Renderable/DealerEarningSimpleTable.php
@@ -0,0 +1,60 @@
+payload['id']??0;
+ $builder = DealerEarning::query();
+ // dd($userId);
+ $builder->with(['user', 'payer'])->where(function ($q) use ($userId) {
+ return $q->where('user_id', $userId)->orWhere('payer_id', $userId);
+ });
+ return Grid::make($builder, function (Grid $grid) {
+ $grid->column('user.phone', '收款人');
+ $grid->column('payer_id', '付款人')->display(function () {
+ return $this->payer_id ? $this->payer?->phone : '公司';
+ });
+ $grid->column('type_name', '资金类型')->display(function () {
+ return $this->type_name;
+ })->label();
+ $grid->column('remark', '备注')->display('详情') // 设置按钮名称
+ ->expand(function () {
+ // 这里返回 content 字段内容,并用 Card 包裹起来
+ $card = new Card(null, $this->remark);
+
+ return "
$card
";
+ });
+ $grid->column('lvl')->display(function () {
+ return $this->lvl->text();
+ });
+ // $grid->column('total_amount', '总金额')->prepend('¥');
+ // $grid->column('fee_rate', '手续费率')->append('%');
+ // $grid->column('fee', '手续费')->prepend('¥');
+ $grid->column('total_earnings', '实际金额')->prepend('¥');
+ $grid->column('status_format', '状态')->display(function ($value) {
+ return $this->status_format;
+ })->using([
+ -1=> '待结算',
+ 0 => '待打款',
+ 1 => '待收款',
+ 2 => '已完成',
+ ])->dot();
+ $grid->column('created_at', '创建时间');
+ $grid->column('id', '操作')->display('查看')->link(function ($value) {
+ return admin_route('dealer_earnings.show', ['dealer_earning' => $this->id]);
+ });
+ // $grid->withBorder();
+ $grid->model()->orderBy('created_at', 'desc');
+ $grid->disableRefreshButton();
+ $grid->disableActions();
+ });
+ }
+}
diff --git a/app/Admin/Renderable/DealerUserProductLogSimpleTable.php b/app/Admin/Renderable/DealerUserProductLogSimpleTable.php
new file mode 100644
index 00000000..9b3ca026
--- /dev/null
+++ b/app/Admin/Renderable/DealerUserProductLogSimpleTable.php
@@ -0,0 +1,32 @@
+payload['id'] ?? 0;
+ $productId = $this->payload['product_id'] ?? 0;
+
+ $builder = DealerUserProductLog::query();
+ $builder->with(['product'])->where(['user_id'=>$userId, 'product_id'=>$productId]);
+ return Grid::make($builder, function (Grid $grid) {
+ $grid->column('product.name', '商品名称');
+ $grid->column('remark', '备注');
+ $grid->column('qty', '变动数量')->display(function () {
+ return ($this->type == DealerUserProductLog::TYPE_ORDER_IN ? '+' : '-').$this->qty.$this->product?->unit;
+ });
+ $grid->column('created_at', '创建时间');
+
+ // $grid->withBorder();
+ $grid->model()->orderBy('created_at', 'desc');
+ $grid->disableRefreshButton();
+ $grid->disableActions();
+ });
+ }
+}
diff --git a/app/Admin/Renderable/DealerUserProductSimpleTable.php b/app/Admin/Renderable/DealerUserProductSimpleTable.php
new file mode 100644
index 00000000..b04f216d
--- /dev/null
+++ b/app/Admin/Renderable/DealerUserProductSimpleTable.php
@@ -0,0 +1,32 @@
+payload['id']??0;
+ $builder = DealerUserProduct::query();
+ $builder->with(['product'])->where('user_id', $userId);
+ return Grid::make($builder, function (Grid $grid) {
+ $grid->column('product.name', '商品名称');
+ $grid->column('product.cover', '商品封面')->image(80, 80);
+ $grid->column('stock', '剩余库存');
+ $grid->column('created_at', '创建时间');
+ $grid->column('logs', '库存记录')->display('查看')->modal(function ($modal) {
+ $modal->title('库存记录');
+ return DealerUserProductLogSimpleTable::make(['product_id'=>$this->product_id, 'user_id'=> $this->user_id]);
+ });
+ // $grid->withBorder();
+ $grid->model()->orderBy('created_at', 'desc');
+ $grid->disableRefreshButton();
+ $grid->disableActions();
+ $grid->disablePagination();
+ });
+ }
+}
diff --git a/app/Models/DealerUserProduct.php b/app/Models/DealerUserProduct.php
index 8dc1f283..65d494a3 100644
--- a/app/Models/DealerUserProduct.php
+++ b/app/Models/DealerUserProduct.php
@@ -2,12 +2,14 @@
namespace App\Models;
+use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class DealerUserProduct extends Model
{
use HasFactory;
+ use HasDateTimeFormatter;
protected $fillable = [
'user_id',
diff --git a/database/seeders/AdminMenuSeeder.php b/database/seeders/AdminMenuSeeder.php
index 89132665..338b21a6 100644
--- a/database/seeders/AdminMenuSeeder.php
+++ b/database/seeders/AdminMenuSeeder.php
@@ -307,7 +307,7 @@ class AdminMenuSeeder extends Seeder
[
'title' =>'系统订单',
'icon' => '',
- 'uri' => 'dealer-manager-orders?type=manager',
+ 'uri' => 'dealer-manager-orders?type=manager&filter-status[]=2&filter-status[]=3',
],
// [
// 'title' =>'用户资金',